Files
gridpilot.gg/adapters/bootstrap/MediaAssetConfig.ts
2025-12-31 15:39:28 +01:00

39 lines
1.2 KiB
TypeScript

/**
* Shared media asset configuration
* This file defines the paths for all media assets used across the application
*/
export interface MediaAssetConfig {
avatars: {
male: string;
female: string;
neutral: string;
};
api: {
avatar: (driverId: string) => string;
teamLogo: (teamId: string) => string;
trackImage: (trackId: string) => string;
sponsorLogo: (sponsorId: string) => string;
categoryIcon: (categoryId: string) => string;
};
}
/**
* Shared media asset paths configuration
* Used by both seed data generation and frontend components
*/
export const mediaAssetConfig: MediaAssetConfig = {
avatars: {
male: '/images/avatars/male-default-avatar.jpg',
female: '/images/avatars/female-default-avatar.jpeg',
neutral: '/images/avatars/neutral-default-avatar.jpeg',
},
api: {
avatar: (driverId: string) => `/api/media/avatar/${driverId}`,
teamLogo: (teamId: string) => `/api/media/teams/${teamId}/logo`,
trackImage: (trackId: string) => `/api/media/tracks/${trackId}/image`,
sponsorLogo: (sponsorId: string) => `/api/media/sponsors/${sponsorId}/logo`,
categoryIcon: (categoryId: string) => `/api/media/categories/${categoryId}/icon`,
},
} as const;