import type { CSSProperties } from "react";

/** QR guest menu background textures (owner picks in Settings → Appearance). */

export const CAFE_MENU_TEXTURES = [
  "none",
  "paper",
  "linen",
  "dots",
  "grid",
  "marble",
  "wood",
  "warm",
] as const;

export type CafeMenuTexture = (typeof CAFE_MENU_TEXTURES)[number];

export function normalizeMenuTexture(value?: string | null): CafeMenuTexture {
  if (value && (CAFE_MENU_TEXTURES as readonly string[]).includes(value)) {
    return value as CafeMenuTexture;
  }
  return "none";
}

/** Props for the textured QR menu shell (uses CSS in globals.css). */
export function qrMenuTextureShellProps(
  texture: CafeMenuTexture,
  backgroundColor: string
): { "data-qr-texture": CafeMenuTexture; style: CSSProperties } {
  return {
    "data-qr-texture": texture,
    style: { ["--qr-bg" as string]: backgroundColor },
  };
}
