import tkinter as tk from tkinter import messagebox from database import connect # Pastikan import ini sesuai from admin_menu import AdminPage from pembeli_menu import PembeliPage from kasir import KasirPage from pemilik import PemilikPage from waiter_dashboard import WaiterPage class LoginPage(tk.Frame): def __init__(self, parent, controller): super().__init__(parent) self.controller = controller tk.Label(self, text="LOGIN SYSTEM", font=("Arial", 20, "bold")).pack(pady=40) frame_login = tk.Frame(self) frame_login.pack() tk.Label(frame_login, text="Username:").pack() self.user = tk.Entry(frame_login) self.user.pack(pady=5) tk.Label(frame_login, text="Password:").pack() self.passw = tk.Entry(frame_login, show="*") self.passw.pack(pady=5) tk.Button(frame_login, text="LOGIN", command=self.login, width=20, bg="#2196F3", fg="white").pack(pady=20) def login(self): u = self.user.get() p = self.passw.get() db = connect() cur = db.cursor() cur.execute("SELECT role FROM users WHERE username=? AND password=?", (u, p)) res = cur.fetchone() db.close() if not res: messagebox.showerror("Gagal", "Username/Password salah!") return role = res[0] # Reset input self.user.delete(0, tk.END) self.passw.delete(0, tk.END) # Redirect sesuai Role if role == "admin": self.controller.show_frame("AdminPage") elif role == "pembeli": self.controller.show_frame("PembeliPage") elif role == "kasir": self.controller.show_frame("KasirPage") elif role == "pemilik": self.controller.show_frame("PemilikPage") elif role == "waiter": self.controller.show_frame("WaiterPage")