/**
 * 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;
