'use client'; import React from 'react'; import { Trophy, ArrowLeft } from 'lucide-react'; import { Button } from '@/ui/Button'; import { Heading } from '@/ui/Heading'; import { Box } from '@/ui/Box'; import { Stack } from '@/ui/Stack'; import { Text } from '@/ui/Text'; import { Container } from '@/ui/Container'; import { Icon } from '@/ui/Icon'; import { Surface } from '@/ui/Surface'; import type { DriverRankingsViewData } from '@/lib/view-data/DriverRankingsViewData'; import { RankingsPodium } from '@/ui/RankingsPodium'; import { RankingsTable } from '@/ui/RankingsTable'; interface DriverRankingsTemplateProps { viewData: DriverRankingsViewData; onDriverClick?: (id: string) => void; onBackToLeaderboards?: () => void; } export function DriverRankingsTemplate({ viewData, onDriverClick, onBackToLeaderboards, }: DriverRankingsTemplateProps): React.ReactElement { return ( {/* Header */} {onBackToLeaderboards && ( )} Driver Leaderboard Full rankings of all drivers by performance metrics {/* Top 3 Podium */} {viewData.podium.length > 0 && ( ({ ...d, rating: Number(d.rating), wins: Number(d.wins), podiums: Number(d.podiums) }))} onDriverClick={onDriverClick} /> )} {/* Leaderboard Table */} ({ ...d, rating: Number(d.rating), wins: Number(d.wins) }))} onDriverClick={onDriverClick} /> ); }