import { useState, useContext, FormEvent } from "react"; import styles from "./LoginForm.module.css"; import Button from "../../../../components/ui/Button/Button"; import Input from "../../../../components/ui/Input/Input"; import Modal from "../../../../components/ui/Modal/Modal"; import { useNavigate } from "react-router"; import { AuthContext, AuthContextType } from "../../../../contexts/Auth/AuthContext"; interface LoginFormProps { className?: string; } function LoginForm({ className }: LoginFormProps) { const navigate = useNavigate(); const authContext = useContext(AuthContext) as AuthContextType; const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [open, setOpen] = useState(false); const { login } = authContext; async function handleSubmit(e?: FormEvent) { if (e) e.preventDefault(); const res = await login(email, password); if (res.status === 401 || res.status === 422) setOpen(true); else navigate("/"); } const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === 'Enter') { handleSubmit(); } }; return (
setEmail(e.target.value)} style={{ width: '100%' }} />
setPassword(e.target.value)} />
setOpen(false)}>

L'Email ou le mot de passe est incorrect

); } export default LoginForm;