diff --git a/src/front/Components/Layouts/Folder/FolderInformation/ClientView/EmailReminder/index.tsx b/src/front/Components/Layouts/Folder/FolderInformation/ClientView/EmailReminder/index.tsx index bedb14b4..9992aa4e 100644 --- a/src/front/Components/Layouts/Folder/FolderInformation/ClientView/EmailReminder/index.tsx +++ b/src/front/Components/Layouts/Folder/FolderInformation/ClientView/EmailReminder/index.tsx @@ -44,14 +44,26 @@ export default function EmailReminder(props: IProps) { fetchReminders(); }, [fetchReminders]); - // count the number of reminders group by reminder_date rounded at seconde const remindersLength = useMemo(() => { - const remindersGroupByDate = reminders?.reduce((acc, reminder) => { - const reminderDate = new Date(reminder.reminder_date!).setSeconds(0, 0); - acc[reminderDate] = acc[reminderDate] ? acc[reminderDate] + 1 : 1; + // Vérifie que la liste `reminders` n'est pas vide ou null + if (!reminders || reminders.length === 0) { + return 0; + } + + const remindersGroupByDate = reminders.reduce((acc, reminder) => { + // Vérifie si `reminder_date` est bien défini + if (!reminder.reminder_date) return acc; + + // Normalise la date à la seconde près + const reminderDate = new Date(reminder.reminder_date).setMilliseconds(0); + + // Initialise ou incrémente le compteur + acc[reminderDate] = (acc[reminderDate] || 0) + 1; return acc; }, {} as Record); - return Object.keys(remindersGroupByDate ?? {}).length; + + // Retourne la longueur des clés, représentant le nombre de dates uniques + return Object.keys(remindersGroupByDate).length; }, [reminders]); const doesCustomerHaveNotValidatedDocuments = useMemo(