// =============================================================================
// DONNÉES & CONSTANTES — icônes, catégories, menu par défaut, paiements
// =============================================================================

// Chemins SVG des icônes (style lucide-react inline)
const ICON_PATHS = {
  ShoppingBag: <><path d="M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z"/><path d="M3 6h18"/><path d="M16 10a4 4 0 0 1-8 0"/></>,
  ChartLine: <><path d="M3 3v18h18"/><path d="m19 9-5 5-4-4-3 3"/></>,
  Settings: <><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/></>,
  Plus: <><path d="M5 12h14"/><path d="M12 5v14"/></>,
  Minus: <><path d="M5 12h14"/></>,
  X: <><path d="M18 6 6 18"/><path d="m6 6 12 12"/></>,
  Trash2: <><path d="M3 6h18"/><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"/><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"/></>,
  Banknote: <><rect width="20" height="12" x="2" y="6" rx="2"/><circle cx="12" cy="12" r="2"/><path d="M6 12h.01M18 12h.01"/></>,
  CreditCard: <><rect width="20" height="14" x="2" y="5" rx="2"/><line x1="2" x2="22" y1="10" y2="10"/></>,
  Smartphone: <><rect width="14" height="20" x="5" y="2" rx="2" ry="2"/><path d="M12 18h.01"/></>,
  Undo2: <><path d="M9 14 4 9l5-5"/><path d="M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"/></>,
  Check: <><path d="M20 6 9 17l-5-5"/></>,
  ChevronUp: <><path d="m18 15-6-6-6 6"/></>,
  ChevronDown: <><path d="m6 9 6 6 6-6"/></>,
  Edit3: <><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></>,
  Download: <><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" x2="12" y1="15" y2="3"/></>,
  AlertTriangle: <><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"/><path d="M12 9v4"/><path d="M12 17h.01"/></>,
  Wifi: <><path d="M5 13a10 10 0 0 1 14 0"/><path d="M8.5 16.5a5 5 0 0 1 7 0"/><path d="M2 8.82a15 15 0 0 1 20 0"/><line x1="12" x2="12.01" y1="20" y2="20"/></>,
  WifiOff: <><path d="M12 20h.01"/><path d="M8.5 16.429a5 5 0 0 1 7 0"/><path d="M5 12.859a10 10 0 0 1 5.17-2.69"/><path d="M19 12.859a10 10 0 0 0-2.007-1.523"/><path d="M2 8.82a15 15 0 0 1 4.177-2.643"/><path d="M22 8.82a15 15 0 0 0-11.288-3.764"/><path d="m2 2 20 20"/></>,
  Beer: <><path d="M17 11h1a3 3 0 0 1 0 6h-1"/><path d="M9 12v6"/><path d="M13 12v6"/><path d="M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5C9.44 3.5 10 3 11 3s1.44.5 3 .5 2.5-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z"/><path d="M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8"/></>,
  Wine: <><path d="M8 22h8"/><path d="M7 10h10"/><path d="M12 15v7"/><path d="M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z"/></>,
  Bottle: <><path d="M10 2v3.5a4 4 0 0 1-.6 2.1L8 10v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V10l-1.4-2.4a4 4 0 0 1-.6-2.1V2"/><path d="M9 2h6"/><path d="M8 14h8"/></>,
  Martini: <><path d="M8 22h8"/><path d="M12 11v11"/><path d="m19 3-7 8-7-8Z"/></>,
  GlassWater: <><path d="M15.2 22H8.8a2 2 0 0 1-2-1.79L5 3h14l-1.81 17.21A2 2 0 0 1 15.2 22Z"/><path d="M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0"/></>,
  Coffee: <><path d="M10 2v2"/><path d="M14 2v2"/><path d="M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1"/><path d="M6 2v2"/></>,
  CupSoda: <><path d="m6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8"/><path d="M5 8h14"/><path d="M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0"/><path d="m12 8 1-6h2"/></>,
  FlaskConical: <><path d="M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2"/><path d="M8.5 2h7"/><path d="M7 16h10"/></>,
  Milk: <><path d="M8 2h8"/><path d="M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2"/><path d="M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0"/></>,
  Citrus: <><path d="M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z"/><path d="M19.65 15.66A8 8 0 0 1 8.35 4.34"/><path d="m14 10-5.5 5.5"/><path d="M14 17.85V10H6.15"/></>,
  Sparkles: <><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"/><path d="M20 3v4"/><path d="M22 5h-4"/><path d="M4 17v2"/><path d="M5 18H3"/></>,
  Cookie: <><path d="M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5"/><path d="M8.5 8.5v.01"/><path d="M16 15.5v.01"/><path d="M12 12v.01"/><path d="M11 17v.01"/><path d="M7 14v.01"/></>,
  Package: <><path d="M16.5 9.4 7.55 4.24"/><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" x2="12" y1="22.08" y2="12"/></>,
  ImageIcon: <><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></>,
  Camera: <><path d="M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z"/><circle cx="12" cy="13" r="3"/></>,
  Gift: <><rect x="3" y="8" width="18" height="4" rx="1"/><path d="M12 8v13"/><path d="M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7"/><path d="M7.5 8a2.5 2.5 0 0 1 0-5C9 3 12 4 12 8c0-4 3-5 4.5-5a2.5 2.5 0 0 1 0 5"/></>,
  Zap: <><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></>,
  Percent: <><line x1="19" x2="5" y1="5" y2="19"/><circle cx="6.5" cy="6.5" r="2.5"/><circle cx="17.5" cy="17.5" r="2.5"/></>,
  Save: <><path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/><polyline points="17 21 17 13 7 13 7 21"/><polyline points="7 3 7 8 15 8"/></>,
  History: <><path d="M3 12a9 9 0 1 0 3-6.7L3 8"/><path d="M3 3v5h5"/><path d="M12 7v5l4 2"/></>,
  AlertCircle: <><circle cx="12" cy="12" r="10"/><line x1="12" x2="12" y1="8" y2="12"/><line x1="12" x2="12.01" y1="16" y2="16"/></>,
  Receipt: <><path d="M4 2v20l2-1.5L8 22l2-1.5 2 1.5 2-1.5 2 1.5 2-1.5L20 22V2l-2 1.5L16 2l-2 1.5L12 2l-2 1.5L8 2 6 3.5 4 2Z"/><path d="M8 7h8"/><path d="M8 11h8"/><path d="M8 15h5"/></>,
  Users: <><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></>,
  CloudOff: <><path d="m2 2 20 20"/><path d="M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193"/><path d="M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.207"/></>,
  Plus2: <><path d="M5 12h14"/><path d="M12 5v14"/></>,
  Soup: <><path d="M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z"/><path d="M7 21h10"/><path d="M19.5 12 22 6"/><path d="M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62"/><path d="M11.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62"/></>,
  Sandwich: <><path d="M3 11v3a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3"/><path d="M12 19H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3.83"/><path d="m3 11 7.77-6.04a2 2 0 0 1 2.46 0L21 11H3Z"/></>,
};

const DRINK_ICON_NAMES = ['Beer', 'Wine', 'Bottle', 'Martini', 'GlassWater', 'Coffee', 'CupSoda', 'FlaskConical', 'Milk', 'Citrus', 'Sparkles', 'Cookie'];

const CATEGORIES = {
  biere:    { label: 'BIÈRE',    bg: 'bg-amber-100',   text: 'text-amber-800' },
  vin:      { label: 'VIN',      bg: 'bg-emerald-100', text: 'text-emerald-800' },
  cocktail: { label: 'COCKTAIL', bg: 'bg-pink-100',    text: 'text-pink-800' },
  soft:     { label: 'SOFT',     bg: 'bg-sky-100',     text: 'text-sky-800' },
  snack:    { label: 'NOURRITURE', bg: 'bg-orange-100',  text: 'text-orange-800' },
};
const CATEGORY_KEYS = Object.keys(CATEGORIES);

const DEFAULT_DRINKS = [
  { id: 'houppe', name: 'Houppe 75 cl', price: 15.00, icon: 'Bottle', category: 'biere', stockEnabled: false, stock: 0 },
  { id: 'jambe', name: "Jambe en l'air (fût)", price: 4.00, icon: 'Beer', category: 'biere', stockEnabled: false, stock: 0 },
  { id: 'slip', name: 'Slip', price: 3.00, icon: 'Beer', category: 'biere', stockEnabled: false, stock: 0 },
  { id: 'coupe', name: 'Coupe Les Jolies', price: 5.00, icon: 'Wine', category: 'vin', parentId: 'bout-jolies', parentRatio: 6 },
  { id: 'verre-blanc', name: 'Verre de vin blanc', price: 7.00, icon: 'Wine', category: 'vin', parentId: 'bout-blanc', parentRatio: 6 },
  { id: 'bout-jolies', name: 'Bouteille Les Jolies', price: 30.00, icon: 'Bottle', category: 'vin', stockEnabled: false, stock: 0 },
  { id: 'bout-blanc', name: 'Bouteille de vin blanc', price: 45.00, icon: 'Bottle', category: 'vin', stockEnabled: false, stock: 0 },
  { id: 'denise', name: 'Denise', price: 10.00, icon: 'Martini', category: 'cocktail', ingredients: [{ parentId: 'aperol', amount: 0.04 }] },
  { id: 'huguette', name: 'Huguette', price: 10.00, icon: 'Martini', category: 'cocktail', ingredients: [{ parentId: 'sureau', amount: 0.04 }] },
  { id: 'germaine', name: 'Germaine', price: 10.00, icon: 'Martini', category: 'cocktail', ingredients: [{ parentId: 'peche', amount: 0.04 }] },
  { id: 'aperol',  name: 'Apérol',             price: 0, icon: 'Bottle', category: 'cocktail', stockEnabled: true, stock: 0, stockUnit: 'L', stockOnly: true },
  { id: 'sureau',  name: 'Liqueur de Sureau',  price: 0, icon: 'Bottle', category: 'cocktail', stockEnabled: true, stock: 0, stockUnit: 'L', stockOnly: true },
  { id: 'peche',   name: 'Liqueur de pêche',   price: 0, icon: 'Bottle', category: 'cocktail', stockEnabled: true, stock: 0, stockUnit: 'L', stockOnly: true },
  { id: 'dupigny', name: "D'UPIGNY mocktail basilic", price: 4.00, icon: 'Citrus', category: 'soft', stockEnabled: false, stock: 0 },
  { id: 'kefir', name: 'Kult Kefir', price: 3.00, icon: 'Milk', category: 'soft', stockEnabled: false, stock: 0 },
  { id: 'ginger', name: 'Ginger Ale', price: 3.00, icon: 'CupSoda', category: 'soft', stockEnabled: false, stock: 0 },
  { id: 'jus-pomme', name: 'Jus de pomme pétillant', price: 3.00, icon: 'Citrus', category: 'soft', stockEnabled: false, stock: 0 },
  { id: 'eau-plate', name: 'Eau plate', price: 1.50, icon: 'GlassWater', category: 'soft', stockEnabled: false, stock: 0 },
  { id: 'eau-pet', name: 'Eau pétillante', price: 1.50, icon: 'GlassWater', category: 'soft', stockEnabled: false, stock: 0 },
  { id: 'chips', name: 'Chips Superbon', price: 2.50, icon: 'Cookie', category: 'snack', stockEnabled: false, stock: 0 },
  { id: 'indien', name: 'Nourriture indienne', price: 8.00, icon: 'Soup', category: 'snack', stockEnabled: false, stock: 0 },
  { id: 'burger', name: 'Burger', price: 8.00, icon: 'Sandwich', category: 'snack', stockEnabled: false, stock: 0 },
];

const PAYMENT_METHODS = [
  { id: 'cash', label: 'Cash', icon: 'Banknote' },
  { id: 'card', label: 'Carte', icon: 'CreditCard' },
  { id: 'payconiq', label: 'Payconiq', icon: 'Smartphone' },
  { id: 'offert', label: 'Offert', icon: 'Gift' },
];
const PAYMENT_BY_ID = Object.fromEntries(PAYMENT_METHODS.map(p => [p.id, p]));
