import React from 'react'; import { Users, Crown, ChevronRight } from 'lucide-react'; import { Button } from '@/ui/Button'; import { Box } from '@/ui/Box'; import { Text } from '@/ui/Text'; import { Heading } from '@/ui/Heading'; import { Icon } from '@/ui/Icon'; import { Stack } from '@/ui/Stack'; import { Image } from '@/ui/Image'; import { getMediaUrl } from '@/lib/utilities/media'; import { SkillLevelDisplay } from '@/lib/display-objects/SkillLevelDisplay'; import { MedalDisplay } from '@/lib/display-objects/MedalDisplay'; interface TeamLeaderboardPreviewProps { teams: { id: string; name: string; tag: string; memberCount: number; category?: string; totalWins: number; logoUrl: string; position: number; }[]; onTeamClick: (id: string) => void; onNavigateToTeams: () => void; } export function TeamLeaderboardPreview({ teams, onTeamClick, onNavigateToTeams }: TeamLeaderboardPreviewProps) { const top5 = teams; // Already sliced in builder when implemented return ( Team Rankings Top performing racing teams {top5.map((team) => { const position = team.position; return ( onTeamClick(team.id)} display="flex" alignItems="center" gap={4} px={5} py={3} w="full" textAlign="left" transition hoverBg="bg-iron-gray/30" group > {position <= 3 ? : {position}} {team.name} {team.name} {team.category && ( {team.category} )} {team.memberCount} members {SkillLevelDisplay.getLabel(team.category || '')} {team.memberCount} Members {team.totalWins} Wins ); })} ); }