32 lines
931 B
TypeScript
32 lines
931 B
TypeScript
import type { DriverViewData } from './DriverViewData';
|
|
import type { RaceViewData } from './RaceViewData';
|
|
|
|
export interface LeagueViewData {
|
|
id: string;
|
|
name: string;
|
|
game: string;
|
|
tier: 'premium' | 'standard' | 'starter';
|
|
season: string;
|
|
description: string;
|
|
drivers: number;
|
|
races: number;
|
|
completedRaces: number;
|
|
totalImpressions: number;
|
|
avgViewsPerRace: number;
|
|
engagement: number;
|
|
rating: number;
|
|
seasonStatus: 'active' | 'upcoming' | 'completed';
|
|
seasonDates: { start: string; end: string };
|
|
nextRace?: { name: string; date: string };
|
|
sponsorSlots: {
|
|
main: { available: boolean; price: number; benefits: string[] };
|
|
secondary: { available: number; total: number; price: number; benefits: string[] };
|
|
};
|
|
}
|
|
|
|
export interface LeagueDetailViewData {
|
|
league: LeagueViewData;
|
|
drivers: (DriverViewData & { impressions: number })[];
|
|
races: (RaceViewData & { views: number })[];
|
|
}
|