'use client'; import React, { useState, useEffect } from 'react'; import DjangoCSRFToken from '@/components/DjangoCSRFToken'; import Logo from '@/components/Logo'; import { useSearchParams, useRouter } from 'next/navigation'; import InputTextIcon from '@/components/InputTextIcon'; import Loader from '@/components/Loader'; import Button from '@/components/Button'; import { User, KeySquare } from 'lucide-react'; import { FE_USERS_LOGIN_URL } from '@/utils/Url'; import { useCsrfToken } from '@/context/CsrfContext'; import { subscribe } from '@/app/actions/authAction'; import logger from '@/utils/logger'; import { useNotification } from '@/context/NotificationContext'; export default function Page() { const searchParams = useSearchParams(); const { showNotification } = useNotification(); const [isLoading, setIsLoading] = useState(false); const router = useRouter(); const csrfToken = useCsrfToken(); const establishment_id = searchParams.get('establishment_id'); function subscribeFormSubmit(formData) { const data = { email: formData.get('login'), password1: formData.get('password1'), password2: formData.get('password2'), establishment_id: establishment_id, }; setIsLoading(true); subscribe(data, csrfToken) .then((data) => { logger.debug('Success:', data); if (data.message !== '') { showNotification( data.message, 'success', 'Succès' ); router.push(`${FE_USERS_LOGIN_URL}`); } else { if (data.errorMessage) { showNotification( data.errorMessage, 'error', 'Erreur' ); } else if (data.errorFields) { showNotification( data.errorFields.email || data.errorFields.password1 || data.errorFields.password2, 'error', 'Erreur' ); } } setIsLoading(false); }) .catch((error) => { setIsLoading(false); logger.error('Error fetching data:', error); error = error.errorMessage; logger.debug(error); }); } if (isLoading === true) { return ; } else { return ( <>

Nouveau profil

{ e.preventDefault(); subscribeFormSubmit(new FormData(e.target)); }} >

); } }