import { TeamCard as UiTeamCard } from '@/components/teams/TeamCard'; import { TeamStatItem } from '@/components/teams/TeamStatItem'; import { Badge } from '@/ui/Badge'; import { Icon } from '@/ui/Icon'; import { Group } from '@/ui/Group'; import { Text } from '@/ui/Text'; import { BadgeGroup } from '@/ui/BadgeGroup'; import { Clock, Crown, Languages, Shield, Star, TrendingUp, Zap } from 'lucide-react'; interface TeamCardProps { id: string; name: string; description?: string; logo?: string; memberCount: number; ratingLabel: string; winsLabel: string; racesLabel: string; performanceLevel?: 'beginner' | 'intermediate' | 'advanced' | 'pro'; isRecruiting?: boolean; specialization?: 'endurance' | 'sprint' | 'mixed' | undefined; region?: string; languages?: string[] | undefined; leagues?: string[]; category?: string; onClick?: () => void; } function getPerformanceBadge(level?: string) { switch (level) { case 'pro': return { icon: Crown, label: 'Pro', variant: 'warning' as const }; case 'advanced': return { icon: Star, label: 'Advanced', variant: 'primary' as const }; case 'intermediate': return { icon: TrendingUp, label: 'Intermediate', variant: 'default' as const }; case 'beginner': return { icon: Shield, label: 'Beginner', variant: 'success' as const }; default: return null; } } function getSpecializationBadge(specialization?: string) { switch (specialization) { case 'endurance': return { icon: Clock, label: 'Endurance', intent: 'warning' as const }; case 'sprint': return { icon: Zap, label: 'Sprint', intent: 'telemetry' as const }; default: return null; } } export function TeamCard({ name, description, logo, memberCount, ratingLabel, winsLabel, racesLabel, performanceLevel, isRecruiting, specialization, region, languages, category, onClick, }: TeamCardProps) { const performanceBadge = getPerformanceBadge(performanceLevel); const specializationBadge = getSpecializationBadge(specialization); return ( {performanceBadge.label} )} specializationContent={specializationBadge && ( {specializationBadge.label} )} categoryBadge={category && ( {category} )} languagesContent={languages && languages.length > 0 && ( {languages.slice(0, 2).join(', ')} {languages.length > 2 && ` +${languages.length - 2}`} )} statsContent={ } /> ); }