Files
gridpilot.gg/apps/website/lib/display-objects/SeasonStatusDisplay.ts
Marc Mintel 18133aef4c
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 5m42s
Contract Testing / contract-snapshot (pull_request) Has been skipped
view data fixes
2026-01-22 23:40:38 +01:00

35 lines
796 B
TypeScript

/**
* SeasonStatusDisplay
*
* Deterministic display logic for season status.
*/
export interface SeasonStatusDisplayData {
color: string;
bg: string;
label: string;
}
export class SeasonStatusDisplay {
private static readonly CONFIG: Record<string, SeasonStatusDisplayData> = {
active: {
color: 'text-performance-green',
bg: 'bg-performance-green/10',
label: 'Active Season'
},
upcoming: {
color: 'text-warning-amber',
bg: 'bg-warning-amber/10',
label: 'Starting Soon'
},
completed: {
color: 'text-gray-400',
bg: 'bg-gray-400/10',
label: 'Season Ended'
},
};
static getDisplay(status: 'active' | 'upcoming' | 'completed'): SeasonStatusDisplayData {
return this.CONFIG[status];
}
}