'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; export default function LoginForm() { const router = useRouter(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(''); setLoading(true); try { const response = await fetch('/api/auth/login', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ email, password }), }); const data = await response.json(); if (!response.ok) { setError(data.error || 'Une erreur est survenue'); setLoading(false); return; } router.push('/dashboard'); router.refresh(); } catch (err) { setError('Une erreur est survenue lors de la connexion'); setLoading(false); } }; return (
{error && (
{error}
)}
setEmail(e.target.value)} />
setPassword(e.target.value)} />
); }