refactor: Remplacement de quelques popup par les notifications

This commit is contained in:
N3WT DE COMPET
2025-05-30 16:15:28 +02:00
parent a69498dd06
commit ce83e02f7b
7 changed files with 137 additions and 161 deletions

View File

@ -52,6 +52,7 @@ import {
HISTORICAL_FILTER,
} from '@/utils/constants';
import AlertMessage from '@/components/AlertMessage';
import { useNotification } from '@/context/NotificationContext';
export default function Page({ params: { locale } }) {
const t = useTranslations('subscriptions');
@ -91,8 +92,6 @@ export default function Page({ params: { locale } }) {
const [isFilesModalOpen, setIsFilesModalOpen] = useState(false);
const [selectedRegisterForm, setSelectedRegisterForm] = useState([]);
const [popupVisible, setPopupVisible] = useState(false);
const [popupMessage, setPopupMessage] = useState('');
const [confirmPopupVisible, setConfirmPopupVisible] = useState(false);
const [confirmPopupMessage, setConfirmPopupMessage] = useState('');
const [confirmPopupOnConfirm, setConfirmPopupOnConfirm] = useState(() => {});
@ -103,6 +102,7 @@ export default function Page({ params: { locale } }) {
const csrfToken = useCsrfToken();
const router = useRouter();
const { selectedEstablishmentId } = useEstablishment();
const { showNotification } = useNotification();
const openSepaUploadModal = (row) => {
setSelectedRowForUpload(row);
@ -294,15 +294,21 @@ export default function Page({ params: { locale } }) {
editRegisterForm(row.student.id, formData, csrfToken)
.then((response) => {
logger.debug('Mandat SEPA uploadé avec succès :', response);
setPopupMessage('Le mandat SEPA a été uploadé avec succès.');
setPopupVisible(true);
showNotification(
'Le mandat SEPA a été uploadé avec succès.',
'success',
'Succès'
);
setReloadFetch(true);
closeSepaUploadModal();
})
.catch((error) => {
logger.error("Erreur lors de l'upload du mandat SEPA :", error);
setPopupMessage("Erreur lors de l'upload du mandat SEPA.");
setPopupVisible(true);
showNotification(
"Erreur lors de l'upload du mandat SEPA.",
'error',
'Erreur'
);
});
};
@ -321,21 +327,22 @@ export default function Page({ params: { locale } }) {
archiveRegisterForm(id)
.then((data) => {
logger.debug('Success:', data);
setPopupMessage(
"Le dossier d'inscription a été correctement archivé"
showNotification(
"Le dossier d'inscription a été correctement archivé",
'success',
'Succès'
);
setPopupVisible(true);
setRegistrationForms(
registrationForms.filter((fiche) => fiche.id !== id)
);
setReloadFetch(true);
})
.catch((error) => {
logger.error('Error archiving data:', error);
setPopupMessage(
"Erreur lors de l'archivage du dossier d'inscription.\nContactez l'administrateur."
showNotification(
"Erreur lors de l'archivage du dossier d'inscription",
'error',
'Erreur'
);
setPopupVisible(true);
});
setConfirmPopupVisible(false);
});
@ -350,16 +357,20 @@ export default function Page({ params: { locale } }) {
sendRegisterForm(id)
.then((data) => {
logger.debug('Success:', data);
setPopupMessage("Le dossier d'inscription a été envoyé avec succès");
setPopupVisible(true);
showNotification(
"Le dossier d'inscription a été envoyé avec succès",
'success',
'Succès'
);
setReloadFetch(true);
})
.catch((error) => {
logger.error('Error archiving data:', error);
setPopupMessage(
"Erreur lors de l'envoi du dossier d'inscription.\nContactez l'administrateur."
showNotification(
"Erreur lors de l'envoi du dossier d'inscription",
'error',
'Erreur'
);
setPopupVisible(true);
});
setConfirmPopupVisible(false);
});
@ -836,12 +847,6 @@ export default function Page({ params: { locale } }) {
</React.Fragment>
) : null}
</div>
<Popup
isOpen={popupVisible}
message={popupMessage}
onConfirm={() => setPopupVisible(false)}
uniqueConfirmButton={true}
/>
<Popup
isOpen={confirmPopupVisible}
message={confirmPopupMessage}