import React, { useState, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { db } from '../firebase/config'; import { ref, onValue } from 'firebase/database'; import { Utensils, Star, Clock, MapPin, ChefHat, Instagram, Facebook, ArrowRight } from 'lucide-react'; export default function CustomerMenu() { const [menuItems, setMenuItems] = useState([]); const [categories, setCategories] = useState([]); const [activeCategory, setActiveCategory] = useState('Todos'); const [menuTheme, setMenuTheme] = useState('dark'); // 'dark' or 'light' const navigate = useNavigate(); useEffect(() => { // Escuchar el menú const menuRef = ref(db, 'menu'); onValue(menuRef, (snapshot) => { const data = snapshot.val(); if (data) { const list = Object.keys(data).map(id => ({ id, ...data[id] })).filter(item => item.active !== false); setMenuItems(list); const cats = [...new Set(list.map(item => item.category))]; setCategories(['Todos', ...cats]); } }); // Escuchar el tema configurado por el admin const themeRef = ref(db, 'config/menuTheme'); onValue(themeRef, (snapshot) => { if (snapshot.exists()) { setMenuTheme(snapshot.val()); } }); }, []); const filteredItems = activeCategory === 'Todos' ? menuItems : menuItems.filter(item => item.category === activeCategory); const isDark = menuTheme === 'dark'; const themeColors = { bg: isDark ? '#0a0a0a' : '#ffffff', text: isDark ? '#ffffff' : '#1a1a1a', muted: isDark ? 'rgba(255,255,255,0.6)' : 'rgba(0,0,0,0.6)', card: isDark ? 'rgba(255,255,255,0.03)' : 'rgba(0,0,0,0.02)', border: isDark ? 'rgba(255,255,255,0.08)' : 'rgba(0,0,0,0.08)', accent: '#FF6B6B' }; return (
{/* Hero Section */}

Gourmet Experience

Descubre una fusión de sabores únicos, preparados con pasión y los ingredientes más frescos.

{/* Badges */}
{[ { icon: , text: "4.9 Estrellas" }, { icon: , text: "30-45 min" }, { icon: , text: "Centro Histórico" } ].map((badge, i) => (
{badge.icon} {badge.text}
))}
{/* Menu Section */}

Nuestra Carta

{/* Category Tabs */}
{categories.map(cat => ( ))}
{/* Menu Grid */}
{filteredItems.map(item => (
e.currentTarget.style.transform = 'translateY(-10px)'} onMouseLeave={e => e.currentTarget.style.transform = 'translateY(0)'}> {/* Dish Image */}
{item.name}
${item.price}
{/* Dish Details */}
{item.category}

{item.name}

Preparado con ingredientes frescos de la estación y el toque secreto de nuestro chef.

Especialidad 20 min
))}
{/* Footer */} {/* Admin Quick Back (Floating) */}
); }