import React from 'react'; import { Clock, Trophy, Users } from 'lucide-react'; import { Box } from '@/ui/Box'; import { Heading } from '@/ui/Heading'; import { Text } from '@/ui/Text'; import { Card } from '@/ui/Card'; import { Stack } from '@/ui/Stack'; import { Icon } from '@/ui/Icon'; import { SidebarRaceItem } from '@/ui/SidebarRaceItem'; import { SidebarActionLink } from '@/ui/SidebarActionLink'; import type { RaceViewData } from '@/lib/view-data/RacesViewData'; import { routes } from '@/lib/routing/RouteConfig'; interface RaceSidebarProps { upcomingRaces: RaceViewData[]; recentResults: RaceViewData[]; onRaceClick: (raceId: string) => void; } export function RaceSidebar({ upcomingRaces, recentResults, onRaceClick }: RaceSidebarProps) { return ( {/* Upcoming This Week */} }> Next Up This week {upcomingRaces.length === 0 ? ( No races scheduled this week ) : ( {upcomingRaces.map((race) => ( onRaceClick(race.id)} /> ))} )} {/* Recent Results */} }> Recent Results {recentResults.length === 0 ? ( No completed races yet ) : ( {recentResults.map((race) => ( onRaceClick(race.id)} /> ))} )} {/* Quick Actions */} Quick Actions ); }