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