chore: Refactor email reminder count logic and handle empty reminders list
This commit is contained in:
parent
9dd57124c6
commit
4243262b6b
@ -44,14 +44,26 @@ export default function EmailReminder(props: IProps) {
|
|||||||
fetchReminders();
|
fetchReminders();
|
||||||
}, [fetchReminders]);
|
}, [fetchReminders]);
|
||||||
|
|
||||||
// count the number of reminders group by reminder_date rounded at seconde
|
|
||||||
const remindersLength = useMemo(() => {
|
const remindersLength = useMemo(() => {
|
||||||
const remindersGroupByDate = reminders?.reduce((acc, reminder) => {
|
// Vérifie que la liste `reminders` n'est pas vide ou null
|
||||||
const reminderDate = new Date(reminder.reminder_date!).setSeconds(0, 0);
|
if (!reminders || reminders.length === 0) {
|
||||||
acc[reminderDate] = acc[reminderDate] ? acc[reminderDate] + 1 : 1;
|
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;
|
return acc;
|
||||||
}, {} as Record<number, number>);
|
}, {} as Record<number, number>);
|
||||||
return Object.keys(remindersGroupByDate ?? {}).length;
|
|
||||||
|
// Retourne la longueur des clés, représentant le nombre de dates uniques
|
||||||
|
return Object.keys(remindersGroupByDate).length;
|
||||||
}, [reminders]);
|
}, [reminders]);
|
||||||
|
|
||||||
const doesCustomerHaveNotValidatedDocuments = useMemo(
|
const doesCustomerHaveNotValidatedDocuments = useMemo(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user