// Fonction pour déterminer la couleur du badge selon le niveau moyen export function getScoreColors(score: number) { if (score >= 2.5) { // Expert/Maîtrise (violet) return { bg: "bg-violet-500/20", border: "border-violet-500/30", text: "text-violet-400", gradient: "from-violet-500 to-violet-400", }; } else if (score >= 1.5) { // Autonome (vert) return { bg: "bg-green-500/20", border: "border-green-500/30", text: "text-green-400", gradient: "from-green-500 to-green-400", }; } else if (score >= 0.5) { // Non autonome (orange/amber) return { bg: "bg-amber-500/20", border: "border-amber-500/30", text: "text-amber-400", gradient: "from-amber-500 to-amber-400", }; } else { // Jamais pratiqué (rouge) return { bg: "bg-red-500/20", border: "border-red-500/30", text: "text-red-400", gradient: "from-red-500 to-red-400", }; } } export function getSkillLevelLabel(level: string): string { switch (level) { case "never": return "Jamais utilisé"; case "not-autonomous": return "Non autonome"; case "autonomous": return "Autonome"; case "expert": return "Expert"; default: return ""; } } /** * Calcule la répartition des niveaux par compétence individuelle */ export function calculateSkillLevelDistribution( members: Array<{ skills: Array<{ level: number }> }> ) { const allSkills = members.flatMap((m) => m.skills); return { expert: allSkills.filter((s) => s.level === 3).length, autonomous: allSkills.filter((s) => s.level === 2).length, notAutonomous: allSkills.filter((s) => s.level === 1).length, never: allSkills.filter((s) => s.level === 0).length, total: allSkills.length, }; }