53 lines
1.5 KiB
TypeScript
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()}`;
|
|
}
|