/* global React */
// ---- Inline icon set (stroke, currentColor) ----
const _I = {
  bag: "M6 7h12l-1 13a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L6 7Z M9 7a3 3 0 0 1 6 0",
  plus: "M12 5v14 M5 12h14",
  minus: "M5 12h14",
  x: "M6 6l12 12 M18 6L6 18",
  check: "M5 12l5 5L20 7",
  bike: "M5 18a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z M19 18a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z M9 18h6l-2-7h3 M12 11l-1-4H8",
  bag2: "M6 8h12l-1 12H7L6 8Z M9 8a3 3 0 0 1 6 0",
  clock: "M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z M12 8v4l3 2",
  leaf: "M5 19c0-7 5-12 14-12 0 9-5 14-14 14 0-4 2-7 6-9",
  star: "M12 3l2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z",
  pin: "M12 21s7-6.3 7-11a7 7 0 1 0-14 0c0 4.7 7 11 7 11Z M12 12a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z",
  phone: "M5 4h4l1.5 5L8 11a12 12 0 0 0 5 5l2-2.5 5 1.5v4a1 1 0 0 1-1 1A16 16 0 0 1 4 5a1 1 0 0 1 1-1Z",
  arrow: "M5 12h14 M13 6l6 6-6 6",
  spark: "M12 3v4 M12 17v4 M3 12h4 M17 12h4 M6 6l2.5 2.5 M15.5 15.5L18 18 M18 6l-2.5 2.5 M8.5 15.5L6 18",
  heart: "M12 20s-7-4.5-7-9.5A3.5 3.5 0 0 1 12 8a3.5 3.5 0 0 1 7 2.5C19 15.5 12 20 12 20Z",
  whats: "M12 3a9 9 0 0 0-7.7 13.6L3 21l4.6-1.2A9 9 0 1 0 12 3Z M8.5 8.5c.3 2 1.8 4.3 4 5.4 1 .5 1.7.3 2.3-.2.3-.3.4-.8.3-1.1l-1.4-.7c-.2 0-.4 0-.6.2-.4.5-.7.4-1.1.2-1-.5-1.7-1.4-2-2.2-.1-.3 0-.5.2-.7.2-.2.3-.4.2-.6l-.6-1.4c-.2-.3-.5-.3-.8-.2-.6.3-1 1-.8 2.1Z",
  pix: "M12 3l3 3-3 3-3-3 3-3Z M6 9l3 3-3 3-3-3 3-3Z M18 9l3 3-3 3-3-3 3-3Z M12 15l3 3-3 3-3-3 3-3Z",
  card: "M3 7h18v10H3z M3 10h18 M7 14h3",
  cal: "M5 6h14v14H5z M5 10h14 M9 4v4 M15 4v4",
  trash: "M5 7h14 M9 7V5h6v2 M7 7l1 13h8l1-13",
  edit: "M4 20h4L19 9l-4-4L4 16v4Z M13 7l4 4",
  download: "M12 3v12 M7 10l5 5 5-5 M5 21h14",
  receipt: "M6 3h12v18l-3-2-3 2-3-2-3 2V3Z M9 8h6 M9 12h6 M9 16h4",
  wallet: "M4 7h16v12H4Z M16 12h4 M7 7V5h9v2",
  trend: "M4 17l6-6 4 4 6-8 M14 7h6v6",
  filter: "M4 6h16 M7 12h10 M10 18h4",
  mic: "M12 3a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V6a3 3 0 0 0-3-3Z M5 10v1a7 7 0 0 0 14 0v-1 M12 18v3 M8 21h8",
  stop: "M7 7h10v10H7z",
  image: "M5 5h14v14H5z M8 15l3-3 2 2 3-4 3 5 M9 9h.01",
  menu: "M4 7h16 M4 12h16 M4 17h16",
  wave: "M3 14c2 0 2-2 4-2s2 2 4 2 2-2 4-2 2 2 4 2",
  sun: "M12 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z M12 2v3 M12 19v3 M2 12h3 M19 12h3 M5 5l2 2 M17 17l2 2 M19 5l-2 2 M7 17l-2 2",
};
function Icon({ name, size = 22, stroke = 2, fill = "none", style }) {
  return (
    <svg width={size} height={size} viewBox="0 0 24 24" fill={fill === "current" ? "currentColor" : "none"}
      stroke={fill === "current" ? "none" : "currentColor"} strokeWidth={stroke}
      strokeLinecap="round" strokeLinejoin="round" style={style} aria-hidden="true">
      <path d={_I[name] || ""} />
    </svg>
  );
}

// ---- Menu data (placeholders, editable) ----
const PHOTO = {
  praiano: "uploads/photos/break-praiano.jpg",
  surfista: "uploads/photos/o-surfista.jpg",
  verde: "uploads/photos/verde-buzios.jpg",
  cafe: "uploads/photos/cafe-interior.jpg",
  buzios: "uploads/photos/buzios-coastline.jpg",
  fries: "uploads/photos/batata-rustica.jpg",
  onionRings: "uploads/photos/aneis-cebola.jpg",
  salad: "uploads/photos/salada-casa.jpg",
  coconut: "uploads/photos/agua-coco.jpg",
  juice: "uploads/photos/suco-natural.jpg",
  soda: "uploads/photos/refrigerante.jpg",
  beer: "uploads/photos/cerveja-artesanal.jpg",
};

const MENU = [
  {
    id: "praiano", name: "Break Praiano", tag: "Mais pedido", veg: false,
    price: 34, kcal: 620, tone: "#F4C988", image: PHOTO.praiano,
    short: "Frango grelhado, abacate cremoso, rúcula e maionese de limão no pão brioche.",
    desc: "Nosso clássico da casa: peito de frango grelhado na brasa, lâminas de abacate, rúcula fresquinha, tomate confit e maionese artesanal de limão siciliano. Servido no pão brioche tostado na manteiga.",
    ingredients: ["Frango grelhado", "Abacate", "Rúcula", "Tomate confit", "Maionese de limão"],
  },
  {
    id: "surfista", name: "O Surfista", tag: "Forte", veg: false,
    price: 39, kcal: 780, tone: "#E9A85B", image: PHOTO.surfista,
    short: "Costela desfiada 12h, queijo prato derretido e cebola caramelizada na chapa.",
    desc: "Para quem chega com fome do mar: costela bovina desfiada cozida por 12 horas, queijo prato derretido, cebola caramelizada no melado e barbecue defumado da casa. No pão australiano levemente adocicado.",
    ingredients: ["Costela desfiada", "Queijo prato", "Cebola caramelizada", "Barbecue defumado"],
  },
  {
    id: "verde", name: "Verde Búzios", tag: "Veggie", veg: true,
    price: 31, kcal: 480, tone: "#BFD8A8", image: PHOTO.verde,
    short: "Grelhados da estação, homus, pasta de grão-de-bico e folhas no pão integral.",
    desc: "Leve e cheio de sabor: abobrinha e berinjela grelhadas, homus cremoso, pasta de grão-de-bico, mix de folhas, tomate seco e pesto de manjericão. Servido no pão integral de fermentação natural.",
    ingredients: ["Abobrinha grelhada", "Berinjela", "Homus", "Tomate seco", "Pesto"],
  },
];

const ADDONS = [
  { id: "bacon", name: "Bacon crocante", price: 6 },
  { id: "egg", name: "Ovo caipira", price: 4 },
  { id: "cheese", name: "Queijo extra", price: 5 },
  { id: "avocado", name: "Abacate extra", price: 5 },
  { id: "onion", name: "Cebola caramelizada", price: 4 },
];
const REMOVABLE = ["Cebola", "Tomate", "Maionese", "Picles", "Rúcula"];
const BREADS = [
  { id: "brioche", name: "Brioche tostado", price: 0 },
  { id: "australiano", name: "Pão australiano", price: 0 },
  { id: "integral", name: "Integral natural", price: 0 },
  { id: "sem-gluten", name: "Sem glúten", price: 4 },
];
const SIDES = [
  { id: "fritas", name: "Batata rústica", price: 14, image: PHOTO.fries },
  { id: "onion-rings", name: "Anéis de cebola", price: 16, image: PHOTO.onionRings },
  { id: "salada", name: "Salada da casa", price: 12, image: PHOTO.salad },
];
const DRINKS = [
  { id: "coco", name: "Água de coco", price: 9, image: PHOTO.coconut },
  { id: "suco", name: "Suco natural", price: 12, image: PHOTO.juice },
  { id: "refri", name: "Refrigerante", price: 8, image: PHOTO.soda },
  { id: "cerveja", name: "Cerveja artesanal", price: 16, image: PHOTO.beer },
];
const COMBOS = [
  { id: "combo-praia", name: "Combo Praia", desc: "Qualquer sanduíche + batata rústica + bebida", save: 9, base: "praiano" },
  { id: "combo-dupla", name: "Combo Dupla", desc: "2 sanduíches + 2 bebidas para dividir", save: 14, base: "surfista" },
];
const REVIEWS = [
  { name: "Marina Costa", area: "Centro · Búzios", stars: 5, text: "Melhor sanduíche da cidade, sem exagero. O Break Praiano chegou quentinho e em 25 minutos. Virei cliente fixa!" },
  { name: "Thiago Mendes", area: "Geribá", stars: 5, text: "Pedi pelo site, escolhi o horário e estava pronto quando cheguei pra retirar. Super prático e o sabor é absurdo." },
  { name: "Ana Beatriz", area: "Manguinhos", stars: 5, text: "O Verde Búzios é maravilhoso, dá pra montar do seu jeito. Atendimento pelo WhatsApp também é nota mil." },
];
const NEIGHBORHOODS = ["Centro", "Geribá", "Manguinhos", "Ferradura", "João Fernandes", "Rua das Pedras", "Ossos", "Armação"];

Object.assign(window, {
  Icon, PHOTO, MENU, ADDONS, REMOVABLE, BREADS, SIDES, DRINKS, COMBOS, REVIEWS, NEIGHBORHOODS,
});
