"use client"; import { useState, FormEvent } from "react"; import { useRouter } from "next/navigation"; import { Shield } from "lucide-react"; 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 { authApi } from "@/lib/api"; import { setToken } from "@/lib/auth"; export default function LoginPage() { const router = useRouter(); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(null); const [loading, setLoading] = useState(false); async function handleSubmit(e: FormEvent) { e.preventDefault(); setError(null); setLoading(true); try { const { access_token } = await authApi.login(email, password); setToken(access_token); router.push("/dashboard"); } catch (err) { setError(err instanceof Error ? err.message : "Erreur de connexion"); } finally { setLoading(false); } } return (
AuditShield Connectez-vous à votre espace sécurisé
setEmail(e.target.value)} required autoComplete="email" />
setPassword(e.target.value)} required autoComplete="current-password" />
{error && (

{error}

)}
); }