auth rework
This commit is contained in:
87
apps/website/lib/siteConfig.ts
Normal file
87
apps/website/lib/siteConfig.ts
Normal file
@@ -0,0 +1,87 @@
|
||||
/**
|
||||
* Site-wide configuration for GridPilot website
|
||||
*
|
||||
* IMPORTANT: Update this file with correct information before going live.
|
||||
* This serves as a single source of truth for legal and company information.
|
||||
*/
|
||||
|
||||
export const siteConfig = {
|
||||
// Platform Information
|
||||
platformName: 'GridPilot',
|
||||
platformUrl: process.env.NEXT_PUBLIC_SITE_URL || 'https://gridpilot.com',
|
||||
|
||||
// Contact Information
|
||||
supportEmail: 'support@gridpilot.com',
|
||||
sponsorEmail: 'sponsors@gridpilot.com',
|
||||
|
||||
// Legal & Business Information
|
||||
// TODO: Update these with actual company details before launch
|
||||
legal: {
|
||||
companyName: '', // e.g., 'GridPilot GmbH' - leave empty until confirmed
|
||||
vatId: '', // e.g., 'DE123456789' - leave empty until confirmed
|
||||
registeredCountry: '', // e.g., 'Germany' - leave empty until confirmed
|
||||
registeredAddress: '', // Full registered address - leave empty until confirmed
|
||||
},
|
||||
|
||||
// Platform Fees
|
||||
fees: {
|
||||
platformFeePercent: 10, // 10% platform fee on sponsorships
|
||||
description: 'Platform fee supports maintenance, analytics, and secure payment processing.',
|
||||
},
|
||||
|
||||
// VAT Information
|
||||
vat: {
|
||||
// Note: All prices displayed are exclusive of VAT
|
||||
euReverseChargeApplies: true,
|
||||
nonEuVatExempt: true,
|
||||
notice: 'All prices shown are exclusive of VAT. Applicable taxes will be calculated at checkout.',
|
||||
euBusinessNotice: 'EU businesses with a valid VAT ID may apply reverse charge.',
|
||||
nonEuNotice: 'Non-EU businesses are not charged VAT.',
|
||||
},
|
||||
|
||||
// Sponsorship Types Available
|
||||
sponsorshipTypes: {
|
||||
leagues: {
|
||||
enabled: true,
|
||||
title: 'League Sponsorship',
|
||||
description: 'Sponsor entire racing leagues and get your brand in front of all participants.',
|
||||
},
|
||||
teams: {
|
||||
enabled: true,
|
||||
title: 'Team Sponsorship',
|
||||
description: 'Partner with competitive racing teams for long-term brand association.',
|
||||
},
|
||||
drivers: {
|
||||
enabled: true,
|
||||
title: 'Driver Sponsorship',
|
||||
description: 'Support individual drivers and grow with rising sim racing talent.',
|
||||
},
|
||||
races: {
|
||||
enabled: true,
|
||||
title: 'Race Sponsorship',
|
||||
description: 'Sponsor individual race events for targeted, high-impact exposure.',
|
||||
},
|
||||
platform: {
|
||||
enabled: true,
|
||||
title: 'Platform Advertising',
|
||||
description: 'Reach the entire GridPilot audience with strategic platform placements.',
|
||||
},
|
||||
},
|
||||
|
||||
// Feature Flags for Sponsorship Features
|
||||
features: {
|
||||
// What sponsors can actually get (no broadcast control)
|
||||
liveryPlacement: true,
|
||||
leaguePageBranding: true,
|
||||
racePageBranding: true,
|
||||
profileBadges: true,
|
||||
socialMediaMentions: true,
|
||||
newsletterInclusion: true,
|
||||
homepageAds: true,
|
||||
sidebarAds: true,
|
||||
// We don't control these
|
||||
broadcastOverlays: false, // We don't control broadcast
|
||||
},
|
||||
} as const;
|
||||
|
||||
export type SiteConfig = typeof siteConfig;
|
||||
Reference in New Issue
Block a user