import { ViewData } from '@/lib/contracts/view-data/ViewData'; /** * Dashboard ViewData * * SSR-safe data structure that can be built directly from DTO * without ViewModel instantiation. Contains formatted values * for display and ISO string timestamps for JSON serialization. */ export interface DashboardViewData extends ViewData { currentDriver: { name: string; avatarUrl: string; country: string; rating: string; rank: string; totalRaces: string; wins: string; podiums: string; consistency: string; }; nextRace: { id: string; track: string; car: string; scheduledAt: string; // ISO string formattedDate: string; formattedTime: string; timeUntil: string; isMyLeague: boolean; } | null; upcomingRaces: Array<{ id: string; track: string; car: string; scheduledAt: string; // ISO string formattedDate: string; formattedTime: string; timeUntil: string; isMyLeague: boolean; }>; leagueStandings: Array<{ leagueId: string; leagueName: string; position: string; points: string; totalDrivers: string; }>; feedItems: Array<{ id: string; type: string; headline: string; body?: string; timestamp: string; // ISO string formattedTime: string; ctaHref?: string; ctaLabel?: string; }>; friends: Array<{ id: string; name: string; avatarUrl: string; country: string; }>; activeLeaguesCount: string; friendCount: string; hasUpcomingRaces: boolean; hasLeagueStandings: boolean; hasFeedItems: boolean; hasFriends: boolean; }