import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { useMutation } from '@tanstack/react-query'; import { authApi, ApiError } from '../api/auth'; import { useAuthStore } from '../stores/authStore'; export function LoginPage() { const navigate = useNavigate(); const setUser = useAuthStore((state) => state.setUser); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const loginMutation = useMutation({ mutationFn: authApi.login, onSuccess: (data) => { setUser(data.user); navigate('/'); }, onError: (err: Error) => { if (err instanceof ApiError) { setError(err.message); } else { setError('Login failed. Please try again.'); } }, }); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); setError(''); loginMutation.mutate({ email, password }); }; return (

FlowReader

Connectez-vous à votre compte

{error &&
{error}
}
setEmail(e.target.value)} placeholder="vous@example.com" required autoFocus />
setPassword(e.target.value)} placeholder="••••••••" required minLength={8} />

Pas encore de compte ?{' '} { e.preventDefault(); navigate('/register'); }}> S'inscrire

); }