diff --git a/Front-End/src/app/[locale]/admin/subscriptions/editSubscription/page.js b/Front-End/src/app/[locale]/admin/subscriptions/editSubscription/page.js index 0f47c0c..92aab2c 100644 --- a/Front-End/src/app/[locale]/admin/subscriptions/editSubscription/page.js +++ b/Front-End/src/app/[locale]/admin/subscriptions/editSubscription/page.js @@ -8,9 +8,11 @@ import { useEstablishment } from '@/context/EstablishmentContext'; import { editRegisterForm } from '@/app/actions/subscriptionAction'; import logger from '@/utils/logger'; import Loader from '@/components/Loader'; +import { useNotification } from '@/context/NotificationContext'; export default function Page() { const router = useRouter(); + const { showNotification } = useNotification(); const searchParams = useSearchParams(); const studentId = searchParams.get('studentId'); const enable = searchParams.get('enabled') === 'true'; @@ -26,11 +28,21 @@ export default function Page() { .then((result) => { setIsLoading(false); logger.debug('Success:', result); + showNotification( + "Dossier d'inscription soumis avec succès", + 'success', + 'Succès' + ); router.push(FE_ADMIN_SUBSCRIPTIONS_URL); }) .catch((error) => { setIsLoading(false); logger.error('Error:', error.message); + showNotification( + "Erreur lors de la soumission du dossier d'inscription", + 'error', + 'Erreur' + ); if (error.details) { logger.error('Form errors:', error.details); setFormErrors(error.details); diff --git a/Front-End/src/app/[locale]/parents/editSubscription/page.js b/Front-End/src/app/[locale]/parents/editSubscription/page.js index 736bd24..8b8ffcd 100644 --- a/Front-End/src/app/[locale]/parents/editSubscription/page.js +++ b/Front-End/src/app/[locale]/parents/editSubscription/page.js @@ -7,25 +7,47 @@ import { useEstablishment } from '@/context/EstablishmentContext'; import { FE_PARENTS_HOME_URL } from '@/utils/Url'; import { editRegisterForm } from '@/app/actions/subscriptionAction'; import logger from '@/utils/logger'; +import Loader from '@/components/Loader'; +import { useNotification } from '@/context/NotificationContext'; export default function Page() { const searchParams = useSearchParams(); + const { showNotification } = useNotification(); const studentId = searchParams.get('studentId'); const enable = searchParams.get('enabled') === 'true'; const router = useRouter(); const csrfToken = useCsrfToken(); const { selectedEstablishmentId, apiDocuseal } = useEstablishment(); + const [isLoading, setIsLoading] = useState(false); - const handleSubmit = async (data) => { - try { - const result = await editRegisterForm(studentId, data, csrfToken); - logger.debug('Success:', result); - router.push(FE_PARENTS_HOME_URL); - } catch (error) { - logger.error('Error:', error); - } + const handleSubmit = (data) => { + setIsLoading(true); + editRegisterForm(studentId, data, csrfToken) + .then((result) => { + setIsLoading(false); + logger.debug('Success:', result); + showNotification( + "Dossier d'inscription soumis avec succès", + 'success', + 'Succès' + ); + router.push(FE_PARENTS_HOME_URL); + }) + .catch((error) => { + setIsLoading(false); + showNotification( + "Erreur lors de la soumission du dossier d'inscription", + 'error', + 'Erreur' + ); + logger.error('Error:', error); + }); }; + if (isLoading === true) { + return ; // Affichez le composant Loader + } + return ( {actionType === 'view' && selectedFile.fileName ? (