refactor: Affichage des notifications dans la partie "Users"

(login/new/reset)
This commit is contained in:
N3WT DE COMPET
2025-05-31 09:22:35 +02:00
parent 3a2455f918
commit e509625811
5 changed files with 49 additions and 88 deletions

View File

@ -3,11 +3,10 @@
import React, { useState } from 'react';
import DjangoCSRFToken from '@/components/DjangoCSRFToken';
import Logo from '@/components/Logo';
import { useSearchParams } from 'next/navigation';
import InputTextIcon from '@/components/InputTextIcon';
import Loader from '@/components/Loader'; // Importez le composant Loader
import Button from '@/components/Button'; // Importez le composant Button
import { User } from 'lucide-react'; // Importez directement les icônes nécessaires
import Loader from '@/components/Loader';
import Button from '@/components/Button';
import { User } from 'lucide-react';
import { FE_USERS_LOGIN_URL } from '@/utils/Url';
import { useCsrfToken } from '@/context/CsrfContext';
import { sendNewPassword } from '@/app/actions/authAction';
@ -15,21 +14,16 @@ import logger from '@/utils/logger';
import { useNotification } from '@/context/NotificationContext';
export default function Page() {
const searchParams = useSearchParams();
const { showNotification } = useNotification();
const [errorMessage, setErrorMessage] = useState('');
const [userFieldError, setUserFieldError] = useState('');
const [isLoading, setIsLoading] = useState(false);
const [popupConfirmAction, setPopupConfirmAction] = useState(null);
const csrfToken = useCsrfToken();
function validate(formData) {
const data = { email: formData.get('email') };
setIsLoading(true);
sendNewPassword(data, csrfToken)
.then((data) => {
logger.debug('Success:', data);
setUserFieldError('');
setErrorMessage('');
if (data.message !== '') {
showNotification(
data.message,
@ -38,32 +32,32 @@ export default function Page() {
);
router.push(`${FE_USERS_LOGIN_URL}`);
} else {
if (data.errorFields) {
setUserFieldError(data.errorFields.email);
showNotification(
data.errorMessage,
'error',
'Erreur'
);
}
if (data.errorMessage) {
showNotification(
data.errorMessage,
'error',
'Erreur'
);
} else if (data.errorFields) {
showNotification(
data.errorFields.email,
'error',
'Erreur'
);
}
}
setIsLoading(false);
})
.catch((error) => {
logger.error('Error fetching data:', error);
setIsLoading(false);
error = error.errorMessage;
logger.debug(error);
});
}
if (isLoading === true) {
return <Loader />; // Affichez le composant Loader
return <Loader />;
} else {
return (
<>
@ -88,10 +82,8 @@ export default function Page() {
IconItem={User}
label="Identifiant"
placeholder="Identifiant"
errorMsg={userFieldError}
className="w-full"
/>
<p className="text-red-500">{errorMessage}</p>
<div className="form-group-submit mt-4">
<Button
text="Réinitialiser"