// Categorias de comida agrupadas por seccion (con items criollos venezolanos),
// para armar el menu eligiendo de grupos en vez de una lista larga y plana.
export const GRUPOS_CATEGORIAS = [
  {
    grupo: 'Desayunos',
    items: ['Arepas', 'Empanadas', 'Cachapas', 'Perico', 'Pabellon', 'Tostadas', 'Panquecas', 'Huevos', 'Mandocas', 'Pastelitos'],
  },
  {
    grupo: 'Almuerzos',
    items: ['Pabellon criollo', 'Menu ejecutivo', 'Sopas', 'Sancocho', 'Asado', 'Pollo', 'Carnes', 'Pescado', 'Mariscos', 'Pasta', 'Arroz'],
  },
  {
    grupo: 'Comida rapida',
    items: ['Hamburguesas', 'Perros calientes', 'Pizzas', 'Shawarma', 'Salchipapas', 'Pepitos', 'Patacones', 'Sandwiches'],
  },
  {
    grupo: 'Comida china',
    items: ['Arroz chino', 'Lumpias', 'Pollo agridulce', 'Chop suey', 'Tallarines', 'Costillas'],
  },
  {
    grupo: 'Parrilla',
    items: ['Parrilla mixta', 'Chuzos', 'Pollo a la brasa', 'Punta trasera', 'Costillas BBQ'],
  },
  {
    grupo: 'Pasapalos',
    items: ['Tequeños', 'Empanaditas', 'Picadas', 'Alitas', 'Nachos', 'Mini shawarma', 'Mozzarella sticks'],
  },
  {
    grupo: 'Postres',
    items: ['Quesillo', 'Torta', 'Marquesa', 'Golfeados', 'Helados', 'Dulces criollos', 'Cheesecake'],
  },
  {
    grupo: 'Bebidas',
    items: ['Jugos naturales', 'Batidos', 'Merengadas', 'Refrescos', 'Malta', 'Chicha', 'Papelon con limon', 'Cerveza', 'Cafe', 'Agua'],
  },
] as const;

// Lista plana (deduplicada) para autocompletar cuando se escribe libremente.
export const CATEGORIAS_COMIDA: string[] = [
  ...new Set(GRUPOS_CATEGORIAS.flatMap((g) => [g.grupo, ...g.items])),
];

// Grupo de menu de una categoria (comida/bebida/adicional). La tienda separa las
// secciones por este grupo; si no se acierta, las bebidas caen en "comida" y no
// aparece el toggle Comidas/Bebidas. Se infiere del nombre para no pedir config manual.
export type GrupoMenu = 'comida' | 'bebida' | 'adicional';
export function grupoDeCategoria(nombre: string): GrupoMenu {
  const n = (nombre || '')
    .normalize('NFD')
    .replace(/[̀-ͯ]/g, '')
    .toLowerCase();
  if (
    /\b(bebida|bebidas|jugo|jugos|batido|batidos|merengada|merengadas|refresco|refrescos|malta|maltas|chicha|papelon|cerveza|cervezas|cafe|agua|aguas|gaseosa|gaseosas|soda|sodas|limonada|limonadas|frappe|frappes|coctel|cocteles|cocktail|smoothie|smoothies|granizado|granizados|fresco|frescos|trago|tragos|licor|licores)\b/.test(n)
  ) {
    return 'bebida';
  }
  if (
    /\b(adicional|adicionales|extra|extras|topping|toppings|salsa|salsas|contorno|contornos|acompanante|acompanantes|agregado|agregados|ingrediente|ingredientes|aderezo|aderezos)\b/.test(n)
  ) {
    return 'adicional';
  }
  return 'comida';
}
