"use client"; import { useState } from "react"; import { Lock } from "lucide-react"; import { useAuth } from "@/contexts/AuthContext"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { ApiError } from "@/lib/api"; import { toast } from "sonner"; import { useRouter } from "next/navigation"; export default function AdminLogin() { const { login } = useAuth(); const router = useRouter(); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [loading, setLoading] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); try { const profile = await login(email, password); if (profile.role !== "admin") { toast.error("Accès refusé : rôle administrateur requis"); return; } toast.success("Connexion réussie"); router.push("/admin"); } catch (err) { const msg = err instanceof ApiError ? err.message : "Identifiants incorrects"; toast.error(msg); } finally { setLoading(false); } }; return (