Checkpoint: Correction bug calendrier - Gestion robuste des dates
✅ **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.
This commit is contained in:
@@ -39,7 +39,15 @@ export default function AdminCalendrier() {
|
|||||||
return sequences.filter((seq) => {
|
return sequences.filter((seq) => {
|
||||||
if (!seq.dates || seq.dates.length === 0) return false;
|
if (!seq.dates || seq.dates.length === 0) return false;
|
||||||
return seq.dates.some((dateForm: any) => {
|
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);
|
return isSameDay(dateDebut, day);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
6
todo.md
6
todo.md
@@ -289,3 +289,9 @@
|
|||||||
- [x] Vérifier la logique de filtrage des séquences par mois dans AdminCalendrier
|
- [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] 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
|
- [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
|
||||||
|
|||||||
Reference in New Issue
Block a user