Files
gridpilot.gg/apps/website/lib/view-data/SponsorDashboardViewData.ts
Marc Mintel 18133aef4c
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 5m42s
Contract Testing / contract-snapshot (pull_request) Has been skipped
view data fixes
2026-01-22 23:40:38 +01:00

39 lines
1.3 KiB
TypeScript

import { ViewData } from "../contracts/view-data/ViewData";
export interface SponsorDashboardViewData extends ViewData {
sponsorName: string;
totalImpressions: string;
totalInvestment: string;
metrics: {
impressionsChange: number;
viewersChange: number;
exposureChange: number;
};
categoryData: {
leagues: { count: number; countLabel: string; impressions: number; impressionsLabel: string };
teams: { count: number; countLabel: string; impressions: number; impressionsLabel: string };
drivers: { count: number; countLabel: string; impressions: number; impressionsLabel: string };
races: { count: number; countLabel: string; impressions: number; impressionsLabel: string };
platform: { count: number; countLabel: string; impressions: number; impressionsLabel: string };
};
sponsorships: Record<string, unknown>; // From DTO
activeSponsorships: number;
formattedTotalInvestment: string;
costPerThousandViews: string;
upcomingRenewals: Array<{
id: string;
type: 'league' | 'team' | 'driver' | 'race' | 'platform';
name: string;
formattedRenewDate: string;
formattedPrice: string;
}>;
recentActivity: Array<{
id: string;
message: string;
time: string;
typeColor: string;
formattedImpressions?: string | null;
}>;
}