From 69f82c729423fec78be9282def4e1cb68e9f95c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Tue, 2 Jul 2024 19:58:15 +0200 Subject: [PATCH] Improve register responses states --- app/register/form.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/app/register/form.js b/app/register/form.js index 2a597d3..26289c2 100644 --- a/app/register/form.js +++ b/app/register/form.js @@ -1,19 +1,22 @@ 'use client' -import {useRouter} from 'next/navigation' import {useState} from 'react' import AuthForm from '@/components/auth-form/index.js' import AuthAlert from '@/components/auth-form/auth-alert.js' export default function RegistrationForm() { - const router = useRouter() const [error, setError] = useState('') - const [isOpen, setIsOpen] = useState(false) + const [success, setSuccess] = useState('') + const [isSuccessAlertOpen, setIsSuccessAlertOpen] = useState(false) + const [isErrorAlertOpen, setIsErrorAlertOpen] = useState(false) const handleFormSubmit = async data => { + setIsSuccessAlertOpen(false) + setIsErrorAlertOpen(false) + if (data.password_verification && data.password_verification !== data.password) { setError('Les mots de passe ne correspondent pas !') - setIsOpen(true) + setIsErrorAlertOpen(true) return } @@ -25,18 +28,19 @@ export default function RegistrationForm() { }) if (response.status === 201) { - router.push('/login') - router.refresh() + setSuccess('Votre compte est en attente de validation !') + setIsSuccessAlertOpen(true) } else { const errorResponse = await response.json() setError(errorResponse.message) - setIsOpen(true) + setIsErrorAlertOpen(true) } } return ( <> - {error && } + {error && } + {success && }