/** * Dashboard Page DTO * This is the data transfer object that gets passed from server to client * Contains ISO string timestamps for JSON serialization */ export interface DashboardOverviewViewModelData { currentDriver?: { id: string; name: string; avatarUrl: string; country: string; totalRaces: number; wins: number; podiums: number; rating: number; globalRank: number; consistency: number; }; myUpcomingRaces: Array<{ id: string; track: string; car: string; scheduledAt: string; // ISO string status: string; isMyLeague: boolean; }>; otherUpcomingRaces: Array<{ id: string; track: string; car: string; scheduledAt: string; // ISO string status: string; isMyLeague: boolean; }>; upcomingRaces: Array<{ id: string; track: string; car: string; scheduledAt: string; // ISO string status: string; isMyLeague: boolean; }>; activeLeaguesCount: number; nextRace?: { id: string; track: string; car: string; scheduledAt: string; // ISO string status: string; isMyLeague: boolean; }; recentResults: Array<{ id: string; track: string; car: string; position: number; date: string; // ISO string }>; leagueStandingsSummaries: Array<{ leagueId: string; leagueName: string; position: number; points: number; totalDrivers: number; }>; feedSummary: { notificationCount: number; items: Array<{ id: string; type: string; headline: string; body?: string; timestamp: string; // ISO string ctaHref?: string; ctaLabel?: string; }>; }; friends: Array<{ id: string; name: string; avatarUrl: string; country: string; }>; }