import { useState } from 'react'; import { ChevronRight, Users, Trophy, UserPlus } from 'lucide-react'; import { TeamCard } from './TeamCard'; type SkillLevel = 'pro' | 'advanced' | 'intermediate' | 'beginner'; type TeamSpecialization = 'endurance' | 'sprint' | 'mixed'; interface SkillLevelConfig { id: SkillLevel; label: string; icon: React.ElementType; color: string; bgColor: string; borderColor: string; description: string; } interface SkillLevelSectionProps { level: SkillLevelConfig; teams: Array<{ id: string; name: string; description?: string; logoUrl?: string; memberCount: number; rating?: number; totalWins: number; totalRaces: number; performanceLevel: string; isRecruiting: boolean; specialization?: string; region?: string; languages: string[]; category?: string; }>; onTeamClick: (id: string) => void; defaultExpanded?: boolean; } export default function SkillLevelSection({ level, teams, onTeamClick, defaultExpanded = false }: SkillLevelSectionProps) { const [isExpanded, setIsExpanded] = useState(defaultExpanded); const recruitingTeams = teams.filter((t) => t.isRecruiting); const displayedTeams = isExpanded ? teams : teams.slice(0, 3); const Icon = level.icon; if (teams.length === 0) return null; const specialization = (teamSpecialization: string | undefined): TeamSpecialization | undefined => { if (teamSpecialization === 'endurance' || teamSpecialization === 'sprint' || teamSpecialization === 'mixed') { return teamSpecialization; } return undefined; }; return (
{level.description}