/**
 * 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 {
  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;
}
