/**
 * آدرس عکس‌های محصول.
 * هر عکس با سه عرض ذخیره می‌شود: {base}-400.webp، {base}-800.webp و {base}-1600.webp.
 * در دیتابیس فقط base ذخیره می‌شود و مرورگر با srcset اندازه مناسب صفحه را انتخاب می‌کند.
 */
export const IMAGE_WIDTHS = [400, 800, 1600] as const;
export type ImageWidth = (typeof IMAGE_WIDTHS)[number];

export interface ImageRef {
  /** آدرس پایه بدون پسوند اندازه */
  url: string;
  alt: string;
}

export const imageSrc = (base: string, w: ImageWidth = 800) => `${base}-${w}.webp`;
export const imageSrcSet = (base: string) => IMAGE_WIDTHS.map((w) => `${imageSrc(base, w)} ${w}w`).join(", ");
