From 376012fce636a7a1154387dac53e99e6eb5dd750 Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Fri, 22 Aug 2025 09:41:58 +0200 Subject: [PATCH] feat: redesign TeamStatsCard for improved UI and functionality - Updated layout and styling for better visual hierarchy and user interaction. - Simplified skill metrics display and added progress bars for clarity. - Enhanced top skills section for better readability and engagement. - Introduced ChevronRight icon for action buttons to indicate interactivity. - Streamlined component structure for maintainability and performance. --- .../admin/team-detail/team-stats-card.tsx | 315 +++++++++--------- 1 file changed, 155 insertions(+), 160 deletions(-) diff --git a/components/admin/team-detail/team-stats-card.tsx b/components/admin/team-detail/team-stats-card.tsx index b4963a4..050045c 100644 --- a/components/admin/team-detail/team-stats-card.tsx +++ b/components/admin/team-detail/team-stats-card.tsx @@ -9,6 +9,7 @@ import { Target, Award, Star, + ChevronRight, } from "lucide-react"; import { TechIcon } from "@/components/icons/tech-icon"; @@ -70,189 +71,183 @@ export function TeamStatsCard({ onViewReport, }: TeamStatsCardProps) { return ( -
-
-
-
- -
-

{teamName}

-
-
-
- - {direction} - -
-
-
- - - {totalMembers} +
+ {/* Header avec nom et direction */} +
+
+

+ {teamName} +

+
+
+ + {direction}
+
+
+ + + {totalMembers} membre{totalMembers > 1 ? "s" : ""} + +
+
+
+
+ + {/* Indicateur de niveau global */} +
+
+ + {getSkillLevelLabel(averageSkillLevel)} + +
+
+
+ {((averageSkillLevel / 3) * 100).toFixed(0)}% +
+
maîtrise
-
- {/* Stats Overview */} -
-
-
- - - Niveau moyen - -
-
-
- - {((averageSkillLevel / 3) * 100).toFixed(0)}% - -
- - {getSkillLevelLabel(averageSkillLevel)} - -
-
-
-
-
-
-
+ {/* Barre de progression principale */} +
+
+
+
+
-
-
- - - Couverture - -
-
-
- - {skillCoverage.toFixed(0)}% - - des compétences -
-
-
-
+ {/* Métriques clés en grille */} +
+
+
+ + + Couverture + +
+
+
+ {skillCoverage.toFixed(0)}%
+
compétences
- {/* Top Skills */} -
-
-
- -
- - Top Compétences +
+
+ + + Niveau moyen
-
- {topSkills.slice(0, 3).map((skill, idx) => ( -
- {/* Icône de la technologie */} -
- {skill.icon ? ( -
- -
- ) : ( -
- -
- )} -
+
+
+ {averageSkillLevel.toFixed(1)} +
+
/ 3.0
+
+
+
- {/* Nom et niveau */} -
-
- - {skill.skillName} - -
- - {skill.averageLevel.toFixed(1)} - -
-
+ {/* Top Skills simplifié */} +
+
+
+ +
+ + Top 3 compétences + +
+
+ {topSkills.slice(0, 3).map((skill, idx) => ( +
+ {/* Icône */} +
+ {skill.icon ? ( +
+
+ ) : ( +
+ +
+ )} +
- {/* Mini barre de progression */} -
+ {/* Nom et niveau */} +
+
+ + {skill.skillName} + +
+ + {skill.averageLevel.toFixed(1)} +
+ + {/* Mini barre de progression */} +
+
+
- ))} -
+
+ ))}
+
- {/* Action Buttons */} -
- - - -
+ {/* Actions simplifiées */} +
+
);