import { useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import { z } from 'zod'; import { useLogin } from '../hooks/useLogin'; import { LoginCredentials } from '../types/index'; const loginSchema = z.object({ email: z.string().email('Email invalide'), password: z.string().min(1, 'Le mot de passe est requis'), remember_me: z.boolean().optional(), }); type LoginFormData = z.infer; export const LoginForm = () => { const { mutate: login, isPending, error } = useLogin(); const { register, handleSubmit, formState: { errors }, } = useForm({ resolver: zodResolver(loginSchema), defaultValues: { email: '', password: '', remember_me: false, }, }); const onSubmit = (data: LoginFormData) => { login(data as LoginCredentials); }; return (

Connexion

{error && (
{(error as any).response?.data?.error || 'Erreur de connexion'}
)}
{errors.email &&

{errors.email.message}

}
{errors.password &&

{errors.password.message}

}
); };