"use client" import Link from "next/link" import { useState } from "react" import { useRouter } from "next/navigation" import { useForm } from "react-hook-form" import { zodResolver } from "@hookform/resolvers/zod" import { Button } from "@/components/ui/button" import { Card, CardContent } from "@/components/ui/card" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Mail, Lock, LogIn, AlertCircle } from "lucide-react" import { useAuth } from "@/lib/auth-context" import { loginSchema, type LoginFormData } from "@/lib/validation" export default function LoginPage() { const router = useRouter() const { login, isLoading } = useAuth() const [apiError, setApiError] = useState("") const { register, handleSubmit, formState: { errors, isSubmitting }, } = useForm({ resolver: zodResolver(loginSchema), }) const onSubmit = async (data: LoginFormData) => { setApiError("") try { await login(data.email, data.password) router.push("/dashboard") } catch (err) { setApiError("Email ou mot de passe incorrect") } } return (
{/* Left side - Form */}

Se Connecter

Accédez à votre tableau de bord

{apiError && (

Erreur de connexion

{apiError}

)}
{errors.email && (

{errors.email.message}

)}
{errors.password && (

{errors.password.message}

)}
Mot de passe oublié ?
ou

Pas encore de compte?{" "} S'inscrire

{/* Right side - Illustration */}
🗳️

Bienvenue

Votez en toute confiance sur notre plateforme sécurisée par cryptographie post-quantique

🔒

Cryptographie Post-Quantique

Sécurité certifiée NIST

📊

Résultats Transparents

Traçabilité complète

Accès Instantané

De n'importe quel appareil

) }