import tkinter as tk from tkinter import messagebox from database import connect class LoginPage(tk.Frame): def __init__(self, parent, controller): super().__init__(parent) self.controller = controller # Center Content center_frame = tk.Frame(self) center_frame.place(relx=0.5, rely=0.5, anchor="center") tk.Label(center_frame, text="LOGIN CAFE", font=("Arial", 20, "bold")).pack(pady=20) tk.Label(center_frame, text="Username").pack(anchor="w") self.user = tk.Entry(center_frame, width=30) self.user.pack(pady=5) tk.Label(center_frame, text="Password").pack(anchor="w") self.passw = tk.Entry(center_frame, show="*", width=30) self.passw.pack(pady=5) tk.Button(center_frame, text="Login", bg="#4CAF50", fg="white", width=20, command=self.login).pack(pady=20) def login(self): username = self.user.get() password = self.passw.get() db = connect() cur = db.cursor() cur.execute("SELECT role FROM users WHERE username=? AND password=?", (username, password)) res = cur.fetchone() db.close() if not res: messagebox.showerror("Error", "Username/Password salah!") return role = res[0] # Reset input self.user.delete(0, tk.END) self.passw.delete(0, tk.END) # Arahkan sesuai Role (Nama Class harus sama dengan di main.py) if role == "admin": self.controller.show_frame("AdminPage") elif role == "pembeli": self.controller.show_frame("PembeliMenu") elif role == "kasir": self.controller.show_frame("KasirPage") elif role == "pemilik": self.controller.show_frame("PemilikPage") elif role == "waiter": self.controller.show_frame("WaiterPage")