"use client"; import { User, Award, BookOpen } from "lucide-react"; import { TeamMember } from "@/lib/admin-types"; interface TeamMembersTabProps { members: TeamMember[]; onMemberClick: (member: TeamMember) => void; } function getSkillLevelLabel(level: number): string { if (level < 0.5) return "Débutant"; if (level < 1.5) return "Intermé."; if (level < 2.5) return "Avancé"; return "Expert"; } function getSkillLevelColor(level: number): string { if (level < 0.5) return "bg-red-500"; if (level < 1.5) return "bg-orange-500"; if (level < 2.5) return "bg-blue-500"; return "bg-green-500"; } function getSkillLevelBadgeClasses(level: number): string { if (level < 0.5) return "bg-red-500/20 border-red-500/30 text-red-300"; if (level < 1.5) return "bg-orange-500/20 border-orange-500/30 text-orange-300"; if (level < 2.5) return "bg-blue-500/20 border-blue-500/30 text-blue-300"; return "bg-green-500/20 border-green-500/30 text-green-300"; } export function TeamMembersTab({ members, onMemberClick, }: TeamMembersTabProps) { return (
{members.map((member) => { const memberAvg = member.skills.reduce((sum, skill) => sum + skill.level, 0) / member.skills.length; const expertSkills = member.skills.filter( (s) => s.level >= 2 && s.canMentor ).length; const learningGoals = member.skills.filter( (s) => s.wantsToLearn ).length; return (
onMemberClick(member)} >
{member.firstName} {member.lastName}
{new Date(member.joinDate).toLocaleDateString()}
{getSkillLevelLabel(memberAvg)}
Niveau moyen: {memberAvg.toFixed(1)}/3
{member.skills.length}
Compétences
{expertSkills}
Expertises
{learningGoals}
Objectifs
{expertSkills > 0 && (
Peut mentorer {expertSkills} compétence {expertSkills > 1 ? "s" : ""}
)} {learningGoals > 0 && (
Souhaite apprendre {learningGoals} compétence {learningGoals > 1 ? "s" : ""}
)}
); })}
); }