From 193ffd7eccc0212f89c2dff6aaf6bb5ee466828d Mon Sep 17 00:00:00 2001 From: Manus Sandbox Date: Sun, 23 Nov 2025 17:17:47 -0500 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20Correction=20de=20l'algorithme=20?= =?UTF-8?q?de=20g=C3=A9n=C3=A9ration=20de=20couleur=20pour=20les=20formati?= =?UTF-8?q?ons=20:=20utilisation=20d'un=20mapping=20bas=C3=A9=20sur=20l'or?= =?UTF-8?q?dre=20d'apparition=20des=20formations=20plut=C3=B4t=20que=20sur?= =?UTF-8?q?=20leur=20ID.=20Chaque=20formation=20re=C3=A7oit=20maintenant?= =?UTF-8?q?=20une=20couleur=20unique=20parmi=2010=20couleurs=20disponibles?= =?UTF-8?q?=20(bleu,=20violet,=20rose,=20indigo,=20cyan,=20teal,=20violet,?= =?UTF-8?q?=20fuchsia,=20sky,=20amber),=20garantissant=20une=20distinction?= =?UTF-8?q?=20visuelle=20claire=20entre=20toutes=20les=20formations=20dans?= =?UTF-8?q?=20le=20tableau=20des=20s=C3=A9quences.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/pages/AdminSequences.tsx | 15 +++++++++++++-- todo.md | 4 ++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/client/src/pages/AdminSequences.tsx b/client/src/pages/AdminSequences.tsx index 3c42f5c..a8d5f99 100644 --- a/client/src/pages/AdminSequences.tsx +++ b/client/src/pages/AdminSequences.tsx @@ -253,7 +253,9 @@ export default function AdminSequences() { }; // Générer une couleur unique par formation (en évitant vert, orange, rouge) - const getFormationColor = (formationId: number) => { + const formationColorMap = useMemo(() => { + if (!formations) return new Map(); + const colors = [ "text-blue-600", "text-purple-600", @@ -266,7 +268,16 @@ export default function AdminSequences() { "text-sky-600", "text-amber-600", ]; - return colors[formationId % colors.length]; + + const map = new Map(); + formations.forEach((formation, index) => { + map.set(formation.id, colors[index % colors.length]); + }); + return map; + }, [formations]); + + const getFormationColor = (formationId: number) => { + return formationColorMap.get(formationId) || "text-gray-600"; }; const formatDate = (dateValue: any) => { diff --git a/todo.md b/todo.md index 59a3d81..6f425ae 100644 --- a/todo.md +++ b/todo.md @@ -550,3 +550,7 @@ - [x] Changer la couleur de l'icône œil en bleu - [x] Coloriser le texte des formations avec une couleur unique par formation (éviter vert, orange, rouge) + +## Correction algorithme de couleur des formations + +- [x] Corriger la fonction getFormationColor pour que chaque formation ait une couleur unique