'use client'; import React from 'react'; import { Trophy, ChevronLeft } from 'lucide-react'; import { Container } from '@/ui/Container'; import { PageHeader } from '@/ui/PageHeader'; import { RankingsPodium } from '@/components/leaderboards/RankingsPodium'; import { RankingsTable } from '@/components/leaderboards/RankingsTable'; import { Button } from '@/ui/Button'; import { Icon } from '@/ui/Icon'; import { LeaderboardFiltersBar } from '@/components/leaderboards/LeaderboardFiltersBar'; import type { DriverRankingsViewData } from '@/lib/view-data/DriverRankingsViewData'; interface DriverRankingsTemplateProps { viewData: DriverRankingsViewData; searchQuery: string; onSearchChange: (query: string) => void; onDriverClick?: (id: string) => void; onBackToLeaderboards?: () => void; } export function DriverRankingsTemplate({ viewData, searchQuery, onSearchChange, onDriverClick, onBackToLeaderboards, }: DriverRankingsTemplateProps): React.ReactElement { return ( } > Back to Leaderboards ) } /> {/* Top 3 Podium */} {viewData.podium.length > 0 && !searchQuery && ( ({ ...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} /> ); }