Add Kelola Data

This commit is contained in:
Randa Firman Putra
2025-07-15 14:46:34 +07:00
parent 833b307602
commit 4585f6a346
28 changed files with 2251 additions and 887 deletions

View File

@@ -12,7 +12,7 @@ import {
DialogTrigger,
} from "@/components/ui/dialog";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { useToast } from "@/components/ui/use-toast";
import { useToast } from "@/components/ui/toast-provider";
import { LogIn, User, Key } from "lucide-react";
interface LoginDialogProps {
@@ -20,9 +20,10 @@ interface LoginDialogProps {
}
export default function LoginDialog({ onLoginSuccess }: LoginDialogProps) {
const { showSuccess, showError } = useToast();
const [isOpen, setIsOpen] = useState(false);
const [isLoading, setIsLoading] = useState(false);
const { toast } = useToast();
// Ketua Jurusan form state
const [ketuaForm, setKetuaForm] = useState({
@@ -56,26 +57,15 @@ export default function LoginDialog({ onLoginSuccess }: LoginDialogProps) {
const data = await response.json();
if (response.ok) {
toast({
title: "Login Berhasil",
description: "Selamat datang, Ketua Jurusan!",
});
showSuccess("Berhasil!", "Selamat datang, Ketua Jurusan!");
onLoginSuccess(data);
setIsOpen(false);
setKetuaForm({ nip: "", password: "" });
} else {
toast({
variant: "destructive",
title: "Login Gagal",
description: data.message || "NIP atau password salah",
});
showError("Gagal!", data.message || "NIP atau password salah");
}
} catch (error) {
toast({
variant: "destructive",
title: "Error",
description: "Terjadi kesalahan saat login",
});
showError("Gagal!", "Terjadi kesalahan saat login");
} finally {
setIsLoading(false);
}
@@ -101,26 +91,15 @@ export default function LoginDialog({ onLoginSuccess }: LoginDialogProps) {
const data = await response.json();
if (response.ok) {
toast({
title: "Login Berhasil",
description: "Selamat datang, Admin!",
});
showSuccess("Berhasil!", "Selamat datang, Admin!");
onLoginSuccess(data);
setIsOpen(false);
setAdminForm({ username: "", password: "" });
} else {
toast({
variant: "destructive",
title: "Login Gagal",
description: data.message || "Username atau password salah",
});
showError("Gagal!", data.message || "Username atau password salah");
}
} catch (error) {
toast({
variant: "destructive",
title: "Error",
description: "Terjadi kesalahan saat login",
});
showError("Gagal!", "Terjadi kesalahan saat login");
} finally {
setIsLoading(false);
}