'use client'; import { useRouter } from 'next/navigation'; import { Award, Crown, Flag, ChevronRight } from 'lucide-react'; import Image from 'next/image'; import Button from '@/ui/Button'; import { mediaConfig } from '@/lib/config/mediaConfig'; const SKILL_LEVELS = [ { id: 'pro', label: 'Pro', color: 'text-yellow-400' }, { id: 'advanced', label: 'Advanced', color: 'text-purple-400' }, { id: 'intermediate', label: 'Intermediate', color: 'text-primary-blue' }, { id: 'beginner', label: 'Beginner', color: 'text-green-400' }, ]; const CATEGORIES = [ { id: 'beginner', label: 'Beginner', color: 'text-green-400' }, { id: 'intermediate', label: 'Intermediate', color: 'text-primary-blue' }, { id: 'advanced', label: 'Advanced', color: 'text-purple-400' }, { id: 'pro', label: 'Pro', color: 'text-yellow-400' }, { id: 'endurance', label: 'Endurance', color: 'text-orange-400' }, { id: 'sprint', label: 'Sprint', color: 'text-red-400' }, ]; interface LeaderboardPreviewProps { drivers: { id: string; name: string; avatarUrl?: string; nationality: string; rating: number; wins: number; skillLevel?: string; category?: string; }[]; onDriverClick: (id: string) => void; } export function LeaderboardPreview({ drivers, onDriverClick }: LeaderboardPreviewProps) { const router = useRouter(); const top5 = drivers.slice(0, 5); const getMedalColor = (position: number) => { switch (position) { case 1: return 'text-yellow-400'; case 2: return 'text-gray-300'; case 3: return 'text-amber-600'; default: return 'text-gray-500'; } }; const getMedalBg = (position: number) => { switch (position) { case 1: return 'bg-yellow-400/10 border-yellow-400/30'; case 2: return 'bg-gray-300/10 border-gray-300/30'; case 3: return 'bg-amber-600/10 border-amber-600/30'; default: return 'bg-iron-gray/50 border-charcoal-outline'; } }; return (

Top Drivers

Highest rated competitors

{top5.map((driver, index) => { const levelConfig = SKILL_LEVELS.find((l) => l.id === driver.skillLevel); const categoryConfig = CATEGORIES.find((c) => c.id === driver.category); const position = index + 1; return ( ); })}
); }