import React, { useState } from 'react'; import { NavLink, useNavigate } from 'react-router-dom'; import { LayoutDashboard, Search, History, Boxes, Store, Users, TrendingUp, LogOut, Wallet, ChevronDown, Package, FileText, Factory, Menu, ShoppingCart, Settings, BarChart3 } from 'lucide-react'; import { useCRM } from '../context/CRMContext'; import clsx from 'clsx'; import Logo from '../components/Logo'; const TopBar: React.FC = () => { const { users, signOut } = useCRM(); const currentUser = users[0]; const navigate = useNavigate(); // Dropdown States const [openMenu, setOpenMenu] = useState(null); const handleSignOut = async () => { await signOut(); navigate('/login'); }; const navStructure = [ { label: 'Dashboard', to: '/', icon: LayoutDashboard, type: 'link' }, { label: 'Vendas', to: '/sales', icon: ShoppingCart, type: 'link' }, { label: 'Arbitragem', icon: Search, type: 'dropdown', items: [ { label: 'Sourcing Intel', to: '/sourcing', icon: Search }, { label: 'Minhas Ordens', to: '/orders', icon: History }, ] }, { label: 'Cadastros', icon: FileText, type: 'dropdown', items: [ { label: 'Clientes', to: '/customers', icon: Users }, { label: 'Fornecedores', to: '/suppliers', icon: Store }, { label: 'Produtos', to: '/products', icon: Package }, { label: 'Estoque', to: '/inventory', icon: Boxes }, { label: 'Usuários', to: '/users', icon: Users }, ] }, { label: 'Produção', icon: Factory, type: 'nav-link', // Future placeholder to: '#', // Placeholder items: [], // Empty for now or future items disabled: true }, { label: 'Relatórios', to: '/reports', icon: BarChart3, type: 'link' }, { label: 'Financeiro', to: '/financial', icon: Wallet, type: 'link' } ]; return (
{/* LOGO */}
navigate('/')} className="cursor-pointer">
{/* NAV MENU CASCATA */} {/* USER ACTIONS */}

{currentUser?.name || 'Admin'}

Online

Avatar
); }; export default TopBar;