import React from 'react'; import { Trophy, Crown, Flag, 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 { SkillLevelDisplay } from '@/lib/display-objects/SkillLevelDisplay'; import { MedalDisplay } from '@/lib/display-objects/MedalDisplay'; 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 ( Driver Rankings Top performers across all leagues {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-iron-gray/30" group > {position <= 3 ? : {position}} {driver.name} {driver.name} {driver.nationality} {SkillLevelDisplay.getLabel(driver.skillLevel)} {RatingDisplay.format(driver.rating)} Rating {driver.wins} Wins ); })} ); }