function managedImagePath(src?: string) {
  if (!src) return "";
  const clean = src.split("?")[0].split("#")[0];
  if (clean.startsWith("/images/")) return clean.replace(/^\/images\//, "");
  if (clean.startsWith("/brand/")) return clean.replace(/^\/+/, "");
  return "";
}

export function imageSlotKeyForSrc(src?: string) {
  const managed = managedImagePath(src);
  if (!managed) return null;
  return `img_${managed.replace(/\.[a-zA-Z0-9]+$/, "").replace(/[^a-zA-Z0-9]+/g, "_").replace(/^_+|_+$/g, "")}`;
}

export function imageSlotApiSrc(src?: string) {
  const key = imageSlotKeyForSrc(src);
  if (!key) return src;
  const safeSrc = encodeURIComponent((src || "").split("?")[0].split("#")[0]);
  return `/api/mpc/image-slot/${encodeURIComponent(key)}?src=${safeSrc}`;
}
