'use client'; import axios from 'axios'; import { usePathname, useRouter } from 'next/navigation'; import { useForm } from 'react-hook-form'; import AppLink from './AppLink'; import Button from './Button'; import Input from './Input'; type FormData = { pseudo: string; email: string; passwd: string; firstname: string; lastname: string; description: string; sgroup: string; avatar: string; }; export default function UserAuthForm() { const { register, handleSubmit, formState: { errors }, setError } = useForm({ defaultValues: { pseudo: '', email: '', passwd: '', firstname: '', lastname: '', description: '', sgroup: '', avatar: '' } }); const router = useRouter(); const pathname = usePathname()!; const isSignIn = pathname.includes('sign-in'); async function onSubmit(data: FormData) { const { data: response, status } = await axios.post( `${process.env.NEXT_PUBLIC_API_URL}/${isSignIn ? 'login' : 'register'}`, { data: { pseudo: data.pseudo, email: data.email, passwd: data.passwd, firstname: data.firstname, lastname: data.lastname, description: data.description, sgroup: data.sgroup, avatar: data.avatar }, headers: { 'Content-Type': 'application/json' } }, { insecureHTTPParser: true } ); console.log('response ', response); if (status === 200) { router.push('/dashboard'); } // const response = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/login`, { // method: 'POST', // headers: { // 'Content-Type': 'application/json' // }, // body: JSON.stringify({ // pseudo: data.pseudo, // email: data.email, // passwd: data.passwd, // firstname: data.firstname, // lastname: data.lastname, // sgroup: data.sgroup, // avatar: data.avatar // }) // }); // const result = await response.json(); // if (response.status !== 200) { // setError('email', { message: result.message }); // } // if (response.status === 200) { // router.push('/dashboard'); // } } return (
{!isSignIn && ( <> // {translations.noAccountAssociated}{' '} // // {translations.signUpQuestion} // // // ) : ( // errors.email.message // )) } {...register('email')} /> // {translations.noAccountAssociated}{' '} // // {translations.signUpQuestion} // // // ) : ( // errors.email.message // )) } {...register('lastname')} /> // {translations.noAccountAssociated}{' '} // // {translations.signUpQuestion} // // // ) : ( // errors.email.message // )) } {...register('firstname')} /> )} {/* {!isSignIn && (

En cliquant sur continuer, vous acceptez les{' '} Politique de confidentialité .

)} */}

{isSignIn ? "Vous n'avez pas de compte?" : 'Vous possédez un compte?'}{' '} {isSignIn ? "S'inscrire maintenant" : 'Se connecter'}

); }