import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { TeamMemberProfile, SkillGap } from "@/lib/team-review-types"; import { Badge } from "@/components/ui/badge"; import { ScrollArea } from "@/components/ui/scroll-area"; import { Avatar, AvatarFallback } from "@/components/ui/avatar"; import { UserCheck } from "lucide-react"; interface MentorshipSectionProps { members: TeamMemberProfile[]; skillGaps: SkillGap[]; } export function MentorshipSection({ members, skillGaps, }: MentorshipSectionProps) { // Trouver les mentors potentiels const mentors = members.filter((member) => member.mentorSkills > 0); // Organiser les opportunités de mentorat par mentor const mentorshipOpportunities = mentors.map((mentor) => { const opportunities = mentor.skills .filter((skill) => skill.canMentor) .map((skill) => { const gap = skillGaps.find((g) => g.skillId === skill.skillId); if (!gap) return null; const learners = members.filter((member) => member.skills.some( (s) => s.skillId === skill.skillId && s.wantsToLearn && ["never", "not-autonomous"].includes(s.level) ) ); return { skill: skill.skillName, category: skill.category, learners, }; }) .filter(Boolean); return { mentor, opportunities, }; }); return ( Opportunités de mentorat
{mentorshipOpportunities.map(({ mentor, opportunities }) => (
{mentor.member.firstName[0]} {mentor.member.lastName[0]}

{mentor.member.firstName} {mentor.member.lastName}

{mentor.mentorSkills} compétences en mentorat

{opportunities.map( (opp, idx) => opp && (
{opp.category} {opp.skill}
{opp.learners.length > 0 && (

Apprenants potentiels :

{opp.learners.map((learner) => ( {learner.member.firstName}{" "} {learner.member.lastName} ))}
)}
) )}
))}
); }