From a130d464d0f09d2cc17cd4feaaf4b8cca23a4bf4 Mon Sep 17 00:00:00 2001 From: Manus Sandbox Date: Wed, 19 Nov 2025 11:41:02 -0500 Subject: [PATCH] Checkpoint: Correction bug calendrier - Gestion robuste des dates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ **Bug corrigé** **Erreur "e.split is not a function"** : Ajout d'une vérification du type de `dateDebut` dans AdminCalendrier.tsx avant d'appeler `parseISO`. Le code gère maintenant trois cas : - Si `dateDebut` est une chaîne : utilisation de `parseISO` pour la convertir en Date - Si `dateDebut` est déjà un objet Date : utilisation directe - Sinon : retour false pour ignorer cette date invalide Le calendrier fonctionne maintenant correctement sans plantage, quel que soit le format des dates retournées par l'API. --- client/src/pages/AdminCalendrier.tsx | 10 +++++++++- todo.md | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/client/src/pages/AdminCalendrier.tsx b/client/src/pages/AdminCalendrier.tsx index 55462eb..45e3470 100644 --- a/client/src/pages/AdminCalendrier.tsx +++ b/client/src/pages/AdminCalendrier.tsx @@ -39,7 +39,15 @@ export default function AdminCalendrier() { return sequences.filter((seq) => { if (!seq.dates || seq.dates.length === 0) return false; return seq.dates.some((dateForm: any) => { - const dateDebut = parseISO(dateForm.dateDebut); + // Gérer le cas où dateDebut est déjà un objet Date ou une chaîne + let dateDebut: Date; + if (typeof dateForm.dateDebut === 'string') { + dateDebut = parseISO(dateForm.dateDebut); + } else if (dateForm.dateDebut instanceof Date) { + dateDebut = dateForm.dateDebut; + } else { + return false; + } return isSameDay(dateDebut, day); }); }); diff --git a/todo.md b/todo.md index 9f9fcf3..33faeda 100644 --- a/todo.md +++ b/todo.md @@ -289,3 +289,9 @@ - [x] Vérifier la logique de filtrage des séquences par mois dans AdminCalendrier - [x] Corriger le calcul du taux de remplissage (ajout de nbInscrits dans sequences.list) - [x] Vérifier que sequences.list retourne bien le nombre d'inscrits + +## Correction bug calendrier - parseISO + +- [x] Corriger l'erreur "e.split is not a function" dans AdminCalendrier +- [x] Ajouter une vérification du type de dateDebut avant parseISO +- [x] Gérer le cas où dateDebut est déjà un objet Date ou une chaîne