34 lines
900 B
TypeScript
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;
|
|
}>;
|
|
} |