Files
gridpilot.gg/apps/website/lib/formatters/LeagueTierFormatter.ts
2026-01-24 01:07:43 +01:00

39 lines
889 B
TypeScript

/**
* LeagueTierDisplay
*
* Deterministic display logic for league tiers.
*/
export interface LeagueTierDisplayData {
color: string;
bgColor: string;
border: string;
icon: string;
}
export class LeagueTierFormatter {
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];
}
}