77 lines
2.0 KiB
TypeScript
77 lines
2.0 KiB
TypeScript
/**
|
|
* Asset Path Utilities
|
|
*
|
|
* Type-safe helpers for accessing static assets
|
|
*/
|
|
|
|
/**
|
|
* Asset categories
|
|
*/
|
|
export const AssetPaths = {
|
|
images: '/assets/images',
|
|
logos: '/assets/logos',
|
|
icons: '/assets/icons',
|
|
} as const;
|
|
|
|
/**
|
|
* Get full path to an image asset
|
|
* @param filename - The image filename (e.g., 'hero-banner.jpg')
|
|
* @returns Full path to the image
|
|
*/
|
|
export function getImagePath(filename: string): string {
|
|
return `${AssetPaths.images}/${filename}`;
|
|
}
|
|
|
|
/**
|
|
* Get full path to a logo asset
|
|
* @param filename - The logo filename (e.g., 'xpeditis-logo.svg')
|
|
* @returns Full path to the logo
|
|
*/
|
|
export function getLogoPath(filename: string): string {
|
|
return `${AssetPaths.logos}/${filename}`;
|
|
}
|
|
|
|
/**
|
|
* Get full path to an icon asset
|
|
* @param filename - The icon filename (e.g., 'shipping-icon.svg')
|
|
* @returns Full path to the icon
|
|
*/
|
|
export function getIconPath(filename: string): string {
|
|
return `${AssetPaths.icons}/${filename}`;
|
|
}
|
|
|
|
/**
|
|
* Predefined asset paths for common images
|
|
*/
|
|
export const Images = {
|
|
// Add your common images here as they are added to the project
|
|
// Example:
|
|
// heroBanner: getImagePath('hero-banner.jpg'),
|
|
// shippingContainer: getImagePath('shipping-container.png'),
|
|
} as const;
|
|
|
|
/**
|
|
* Predefined asset paths for logos
|
|
*/
|
|
export const Logos = {
|
|
// Add your logos here as they are added to the project
|
|
// Example:
|
|
// main: getLogoPath('xpeditis-logo.svg'),
|
|
// dark: getLogoPath('xpeditis-logo-dark.svg'),
|
|
// light: getLogoPath('xpeditis-logo-light.svg'),
|
|
// icon: getLogoPath('xpeditis-icon.svg'),
|
|
} as const;
|
|
|
|
/**
|
|
* Predefined asset paths for icons
|
|
*/
|
|
export const Icons = {
|
|
// Add your icons here as they are added to the project
|
|
// Example:
|
|
// shipping: getIconPath('shipping-icon.svg'),
|
|
// tracking: getIconPath('tracking-icon.svg'),
|
|
// booking: getIconPath('booking-icon.svg'),
|
|
// dashboard: getIconPath('dashboard-icon.svg'),
|
|
// notification: getIconPath('notification-icon.svg'),
|
|
} as const;
|