'use client'; import React from 'react'; import { ChevronRight, Users, Zap } from 'lucide-react'; import { ProfileCard } from '@/ui/ProfileCard'; import { CountryFlag } from '@/ui/CountryFlag'; import { Heading } from '@/ui/Heading'; import { Icon } from '@/ui/Icon'; import { Logo } from '@/ui/Logo'; import { Text } from '@/ui/Text'; import { Badge } from '@/ui/Badge'; import { Stack } from '@/ui/Stack'; import { Grid } from '@/ui/Grid'; import { TeamSummaryData } from '@/lib/view-data/TeamsViewData'; interface TeamCardProps { team?: TeamSummaryData; // Compatibility props name?: string; logo?: string; memberCount?: number; ratingLabel?: string; winsLabel?: string; racesLabel?: string; region?: string; isRecruiting?: boolean; performanceLevel?: string; description?: string; onClick?: (id: string) => void; } export function TeamCard({ team, name, logo, memberCount, ratingLabel, winsLabel, racesLabel, region, isRecruiting, performanceLevel, description, onClick }: TeamCardProps) { const data = team || { teamId: '', teamName: name || '', memberCount: memberCount || 0, logoUrl: logo, ratingLabel: ratingLabel || '-', winsLabel: winsLabel || '-', racesLabel: racesLabel || '-', region: region, isRecruiting: isRecruiting || false, performanceLevel: performanceLevel, description: description, countryCode: region, }; return ( onClick?.(data.teamId)} identity={ {data.teamName} {data.performanceLevel && ( {data.performanceLevel} )} } actions={ data.isRecruiting ? ( RECRUITING ) : undefined } stats={ Rating {data.ratingLabel} Wins {data.winsLabel} Races {data.racesLabel} {data.memberCount} {data.countryCode && ( {data.countryCode} )} } /> ); }