import React, { useState } from 'react'; import { Home, TrendingUp, Package, Settings, Menu, X, LogOut, User, Bell, ChevronDown, ChefHat, Warehouse, ShoppingCart } from 'lucide-react'; interface LayoutProps { children: React.ReactNode; user: any; currentPage: string; onNavigate: (page: string) => void; onLogout: () => void; } interface NavigationItem { id: string; label: string; icon: React.ComponentType<{ className?: string }>; href: string; } const Layout: React.FC = ({ children, user, currentPage, onNavigate, onLogout }) => { const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [isUserMenuOpen, setIsUserMenuOpen] = useState(false); const navigation: NavigationItem[] = [ { id: 'dashboard', label: 'Inicio', icon: Home, href: '/dashboard' }, { id: 'orders', label: 'Pedidos', icon: Package, href: '/orders' }, { id: 'production', label: 'Producción', icon: ChefHat, href: '/production' }, { id: 'inventory', label: 'Inventario', icon: Warehouse, href: '/inventory' }, { id: 'sales', label: 'Ventas', icon: ShoppingCart, href: '/sales' }, { id: 'reports', label: 'Informes', icon: TrendingUp, href: '/reports' }, { id: 'settings', label: 'Configuración', icon: Settings, href: '/settings' }, ]; const handleNavigate = (pageId: string) => { onNavigate(pageId); setIsMobileMenuOpen(false); }; return (
{/* Top Navigation Bar */} {/* Main Content */}
{children}
{/* Click outside handler for dropdowns */} {(isUserMenuOpen || isMobileMenuOpen) && (
{ setIsUserMenuOpen(false); setIsMobileMenuOpen(false); }} /> )}
); }; export default Layout;