Files
gridpilot.gg/apps/website/lib/display-objects/LeagueTierDisplay.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

39 lines
887 B
TypeScript

/**
* LeagueTierDisplay
*
* Deterministic display logic for league tiers.
*/
export interface LeagueTierDisplayData {
color: string;
bgColor: string;
border: string;
icon: string;
}
export class LeagueTierDisplay {
private static readonly CONFIG: Record<string, LeagueTierDisplayData> = {
premium: {
color: 'text-yellow-400',
bgColor: 'bg-yellow-500/10',
border: 'border-yellow-500/30',
icon: '⭐'
},
standard: {
color: 'text-primary-blue',
bgColor: 'bg-primary-blue/10',
border: 'border-primary-blue/30',
icon: '🏆'
},
starter: {
color: 'text-gray-400',
bgColor: 'bg-gray-500/10',
border: 'border-gray-500/30',
icon: '🚀'
},
};
static getDisplay(tier: 'premium' | 'standard' | 'starter'): LeagueTierDisplayData {
return this.CONFIG[tier];
}
}