"use client"; import { Dialog, DialogContent, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { User, Award, BookOpen, X } from "lucide-react"; import { TeamMember } from "@/lib/admin-types"; interface TeamMemberModalProps { isOpen: boolean; onClose: () => void; member: TeamMember | null; } 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 TeamMemberModal({ isOpen, onClose, member, }: TeamMemberModalProps) { if (!member) return null; return (
{member.firstName} {member.lastName}

Membre depuis le{" "} {new Date(member.joinDate).toLocaleDateString()}

{/* Stats du membre */}
{member.skills.length}
compétences
{ member.skills.filter((s) => s.level >= 2 && s.canMentor) .length }
mentorables
{member.skills.filter((s) => s.wantsToLearn).length}
à apprendre
{/* Compétences détaillées */}

Portfolio de compétences

Inc.
Maj.
Exp.
Auto.
Prog.
Déb.
{member.skills .sort((a, b) => { // D'abord par importance const importanceOrder = { incontournable: 2, majeure: 1, standard: 0, }; const importanceDiff = importanceOrder[b.importance] - importanceOrder[a.importance]; if (importanceDiff !== 0) return importanceDiff; // Ensuite par niveau de maîtrise return b.level - a.level; }) .map((skill, idx) => ( ))}
Compétence Niveau Statut
{skill.skillName}
{skill.category}
{skill.importance === "incontournable" ? "Inc." : skill.importance === "majeure" ? "Maj." : "Std."}
{skill.level.toFixed(1)}
{skill.canMentor && ( Mentor )} {skill.wantsToLearn && ( Apprenant )}
); }