Files
gridpilot.gg/apps/website/components/sponsors/SponsorInsightsCardHelpers.ts
2026-01-15 17:12:24 +01:00

53 lines
1.5 KiB
TypeScript

import { EntityType } from './SponsorInsightsCard';
import { Trophy, Zap, Users } from 'lucide-react';
export interface TierStyles {
badge: string;
gradient: string;
}
export function getTierStyles(tier: 'premium' | 'standard' | 'starter'): TierStyles {
switch (tier) {
case 'premium':
return {
badge: 'bg-yellow-500/20 text-yellow-400 border-yellow-500/30',
gradient: 'from-yellow-500/10 via-transparent to-transparent',
};
case 'standard':
return {
badge: 'bg-blue-500/20 text-blue-400 border-blue-500/30',
gradient: 'from-blue-500/10 via-transparent to-transparent',
};
default:
return {
badge: 'bg-gray-500/20 text-gray-400 border-gray-500/30',
gradient: 'from-gray-500/10 via-transparent to-transparent',
};
}
}
export function getEntityLabel(type: EntityType): string {
switch (type) {
case 'league': return 'League';
case 'race': return 'Race';
case 'driver': return 'Driver';
case 'team': return 'Team';
}
}
export function getEntityIcon(type: EntityType) {
switch (type) {
case 'league': return Trophy;
case 'race': return Zap;
case 'driver': return Users;
case 'team': return Users;
}
}
export function getSponsorshipTagline(type: EntityType): string {
if (type === 'league') {
return 'Reach engaged sim racers by sponsoring a season in this league.';
}
return `Reach engaged sim racers by sponsoring this ${getEntityLabel(type).toLowerCase()}`;
}