import { Trophy } from 'lucide-react'; import { Box } from '@/ui/Box'; import { Text } from '@/ui/Text'; import { Image } from '@/ui/Image'; import { LeaderboardList } from '@/ui/LeaderboardList'; import { LeaderboardPreviewShell } from '@/ui/LeaderboardPreviewShell'; import { RankBadge } from '@/components/leaderboards/RankBadge'; import { SkillLevelDisplay } from '@/lib/display-objects/SkillLevelDisplay'; import { RatingDisplay } from '@/lib/display-objects/RatingDisplay'; interface DriverLeaderboardPreviewProps { drivers: { id: string; name: string; rating: number; skillLevel: string; nationality: string; wins: number; rank: number; avatarUrl: string; position: number; }[]; onDriverClick: (id: string) => void; onNavigateToDrivers: () => void; } export function DriverLeaderboardPreview({ drivers, onDriverClick, onNavigateToDrivers }: DriverLeaderboardPreviewProps) { const top10 = drivers; // Already sliced in builder return ( {top10.map((driver, index) => { const position = index + 1; return ( onDriverClick(driver.id)} display="flex" alignItems="center" gap={4} px={5} py={3} w="full" textAlign="left" transition hoverBg="bg-white/[0.02]" group > {driver.name} {driver.name} {driver.nationality} {SkillLevelDisplay.getLabel(driver.skillLevel)} {RatingDisplay.format(driver.rating)} Rating {driver.wins} Wins ); })} ); }