import { useState } from 'react'; import { Navigate, useNavigate } from 'react-router-dom'; import { humanMessage, useAuth } from '@/auth/AuthProvider'; export function LoginPage() { const { user, loading, login } = useAuth(); const navigate = useNavigate(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(null); const [pending, setPending] = useState(false); if (loading) return null; if (user) return ; async function submit(event: React.FormEvent) { event.preventDefault(); setError(null); setPending(true); try { await login(email, password); navigate('/projects', { replace: true }); } catch (caught) { setError(humanMessage(caught)); } finally { setPending(false); } } return (

TQ-Slator

Gestion des traductions

{error !== null && (

{error}

)}

L'accès se fait sur invitation. Contactez un administrateur du projet.

); }