From f252efdef4fce1f2d19ac7ca1eb9c049706c0d9f Mon Sep 17 00:00:00 2001 From: Luc SORIGNET Date: Sat, 17 May 2025 11:38:26 +0200 Subject: [PATCH] fix: Uniformisation des Modales et Popup [#35] --- .../app/[locale]/users/password/reset/page.js | 4 +- .../src/app/[locale]/users/subscribe/page.js | 4 +- Front-End/src/app/actions/messagerieAction.js | 38 +- .../src/components/Calendar/EventModal.js | 446 +++++++++--------- .../src/components/Inscription/FilesModal.js | 259 +++++----- Front-End/src/components/Modal.js | 67 ++- Front-End/src/components/Popup.js | 36 +- .../Structure/Files/FilesGroupsManagement.js | 32 +- .../Structure/Tarification/FeesSection.js | 8 +- 9 files changed, 467 insertions(+), 427 deletions(-) diff --git a/Front-End/src/app/[locale]/users/password/reset/page.js b/Front-End/src/app/[locale]/users/password/reset/page.js index 78a66a5..d9cdec8 100644 --- a/Front-End/src/app/[locale]/users/password/reset/page.js +++ b/Front-End/src/app/[locale]/users/password/reset/page.js @@ -99,7 +99,8 @@ export default function Page() { return ( <> { setPopupVisible(false); @@ -107,6 +108,7 @@ export default function Page() { }} onCancel={() => setPopupVisible(false)} uniqueConfirmButton={true} + popupClassName="w-full max-w-xs sm:max-w-md" />
diff --git a/Front-End/src/app/[locale]/users/subscribe/page.js b/Front-End/src/app/[locale]/users/subscribe/page.js index 3c07064..7e16a09 100644 --- a/Front-End/src/app/[locale]/users/subscribe/page.js +++ b/Front-End/src/app/[locale]/users/subscribe/page.js @@ -144,7 +144,8 @@ export default function Page() {
{ setPopupVisible(false); @@ -152,6 +153,7 @@ export default function Page() { }} onCancel={() => setPopupVisible(false)} uniqueConfirmButton={true} + popupClassName="w-full max-w-xs sm:max-w-md" /> ); diff --git a/Front-End/src/app/actions/messagerieAction.js b/Front-End/src/app/actions/messagerieAction.js index 69218d3..a2d0900 100644 --- a/Front-End/src/app/actions/messagerieAction.js +++ b/Front-End/src/app/actions/messagerieAction.js @@ -1,12 +1,14 @@ import { + BE_GESTIONMESSAGERIE_CONVERSATIONS_URL, + BE_GESTIONMESSAGERIE_CONVERSATION_MESSAGES_URL, + BE_GESTIONMESSAGERIE_MARK_AS_READ_URL, BE_GESTIONMESSAGERIE_MESSAGES_URL, - BE_GESTIONMESSAGERIE_SEND_MESSAGE_URL, BE_GESTIONMESSAGERIE_SEARCH_RECIPIENTS_URL, } from '@/utils/Url'; import { errorHandler, requestResponseHandler } from './actionsHandlers'; -export const fetchMessages = (id) => { - return fetch(`${BE_GESTIONMESSAGERIE_MESSAGES_URL}/${id}`, { +export const fetchConversations = (profileId) => { + return fetch(`${BE_GESTIONMESSAGERIE_CONVERSATIONS_URL}/${profileId}/`, { headers: { 'Content-Type': 'application/json', }, @@ -15,12 +17,24 @@ export const fetchMessages = (id) => { .catch(errorHandler); }; -export const sendMessage = (data, csrfToken) => { - return fetch(`${BE_GESTIONMESSAGERIE_SEND_MESSAGE_URL}`, { +export const fetchMessages = (conversationId) => { + return fetch( + `${BE_GESTIONMESSAGERIE_CONVERSATION_MESSAGES_URL}/${conversationId}/`, + { + headers: { + 'Content-Type': 'application/json', + }, + } + ) + .then(requestResponseHandler) + .catch(errorHandler); +}; + +export const sendMessage = (data) => { + return fetch(`${BE_GESTIONMESSAGERIE_MESSAGES_URL}`, { method: 'POST', headers: { 'Content-Type': 'application/json', - 'X-CSRFToken': csrfToken, }, body: JSON.stringify(data), }) @@ -28,6 +42,18 @@ export const sendMessage = (data, csrfToken) => { .catch(errorHandler); }; +export const markAsRead = (conversationId, profileId) => { + return fetch(`${BE_GESTIONMESSAGERIE_MARK_AS_READ_URL}/${conversationId}/`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ profile_id: profileId }), + }) + .then(requestResponseHandler) + .catch(errorHandler); +}; + export const searchRecipients = (establishmentId, query) => { const url = `${BE_GESTIONMESSAGERIE_SEARCH_RECIPIENTS_URL}/?establishment_id=${establishmentId}&q=${encodeURIComponent(query)}`; return fetch(url, { diff --git a/Front-End/src/components/Calendar/EventModal.js b/Front-End/src/components/Calendar/EventModal.js index 3375acb..d89c098 100644 --- a/Front-End/src/components/Calendar/EventModal.js +++ b/Front-End/src/components/Calendar/EventModal.js @@ -2,6 +2,7 @@ import { usePlanning, RecurrenceType } from '@/context/PlanningContext'; import { format } from 'date-fns'; import React from 'react'; import { useNotification } from '@/context/NotificationContext'; +import Modal from '@/components/Modal'; export default function EventModal({ isOpen, @@ -86,255 +87,254 @@ export default function EventModal({ }; return ( -
-
-

- {eventData.id ? "Modifier l'événement" : 'Nouvel événement'} -

+ +
+ {/* Titre */} +
+ + + setEventData({ ...eventData, title: e.target.value }) + } + className="w-full p-2 border rounded focus:outline-none focus:ring-2 focus:ring-emerald-500" + required + /> +
- - {/* Titre */} + {/* Description */} +
+ +