63 lines
1.8 KiB
TypeScript
63 lines
1.8 KiB
TypeScript
export interface SponsorshipSlot {
|
|
tier: 'main' | 'secondary';
|
|
available: boolean;
|
|
priceLabel: string;
|
|
benefits: string[];
|
|
}
|
|
|
|
export const SlotTemplates = {
|
|
league: (mainAvailable: boolean, secondaryAvailable: number, mainPriceLabel: string, secondaryPriceLabel: string): SponsorshipSlot[] => [
|
|
{
|
|
tier: 'main',
|
|
available: mainAvailable,
|
|
priceLabel: mainPriceLabel,
|
|
benefits: ['Hood placement', 'League banner', 'Prominent logo'],
|
|
},
|
|
{
|
|
tier: 'secondary',
|
|
available: secondaryAvailable > 0,
|
|
priceLabel: secondaryPriceLabel,
|
|
benefits: ['Side logo placement', 'League page listing'],
|
|
},
|
|
{
|
|
tier: 'secondary',
|
|
available: secondaryAvailable > 1,
|
|
priceLabel: secondaryPriceLabel,
|
|
benefits: ['Side logo placement', 'League page listing'],
|
|
},
|
|
],
|
|
|
|
race: (mainAvailable: boolean, mainPriceLabel: string): SponsorshipSlot[] => [
|
|
{
|
|
tier: 'main',
|
|
available: mainAvailable,
|
|
priceLabel: mainPriceLabel,
|
|
benefits: ['Race title sponsor', 'Stream overlay', 'Results banner'],
|
|
},
|
|
],
|
|
|
|
driver: (available: boolean, priceLabel: string): SponsorshipSlot[] => [
|
|
{
|
|
tier: 'main',
|
|
available,
|
|
priceLabel,
|
|
benefits: ['Suit logo', 'Helmet branding', 'Social mentions'],
|
|
},
|
|
],
|
|
|
|
team: (mainAvailable: boolean, secondaryAvailable: boolean, mainPriceLabel: string, secondaryPriceLabel: string): SponsorshipSlot[] => [
|
|
{
|
|
tier: 'main',
|
|
available: mainAvailable,
|
|
priceLabel: mainPriceLabel,
|
|
benefits: ['Team name suffix', 'Car livery', 'All driver suits'],
|
|
},
|
|
{
|
|
tier: 'secondary',
|
|
available: secondaryAvailable,
|
|
priceLabel: secondaryPriceLabel,
|
|
benefits: ['Team page logo', 'Minor livery placement'],
|
|
},
|
|
],
|
|
};
|