Files
gridpilot.gg/apps/website/lib/view-data/LeaguesViewData.ts
2026-01-14 02:02:24 +01:00

34 lines
900 B
TypeScript

/**
* Leagues 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 LeaguesViewData {
leagues: Array<{
id: string;
name: string;
description: string | null;
logoUrl: string | null;
ownerId: string;
createdAt: string; // ISO string
maxDrivers: number;
usedDriverSlots: number;
maxTeams: number | undefined;
usedTeamSlots: number | undefined;
structureSummary: string;
timingSummary: string;
category: string | null;
scoring: {
gameId: string;
gameName: string;
primaryChampionshipType: string;
scoringPresetId: string;
scoringPresetName: string;
dropPolicySummary: string;
scoringPatternSummary: string;
} | undefined;
}>;
}