'use client'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import { cn } from '@/lib/utils'; import { LayoutDashboard, FileText, Calculator, Settings, LogOut, BarChart3, Calendar, Bell, Users, ChevronDown, Building2, } from 'lucide-react'; import { useAuthStore } from '@/stores/auth-store'; import { logout } from '@/lib/api/auth'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; const navigation = [ { name: 'Dashboard', href: '/dashboard', icon: LayoutDashboard }, { name: 'CFDI', href: '/cfdi', icon: FileText }, { name: 'Impuestos', href: '/impuestos', icon: Calculator }, { name: 'Reportes', href: '/reportes', icon: BarChart3 }, { name: 'Calendario', href: '/calendario', icon: Calendar }, { name: 'Alertas', href: '/alertas', icon: Bell }, { name: 'Usuarios', href: '/usuarios', icon: Users }, { name: 'Config', href: '/configuracion', icon: Settings }, ]; const adminNavigation = [ { name: 'Clientes', href: '/clientes', icon: Building2 }, ]; export function TopNav() { const pathname = usePathname(); const router = useRouter(); const { user, logout: clearAuth } = useAuthStore(); const [userMenuOpen, setUserMenuOpen] = useState(false); const allNavigation = user?.role === 'admin' ? [...navigation.slice(0, -1), ...adminNavigation, navigation[navigation.length - 1]] : navigation; const handleLogout = async () => { try { await logout(); } catch { // Ignore errors } finally { clearAuth(); router.push('/login'); } }; return (
{/* Logo */}
H
Horux360 {/* Navigation */} {/* User Menu */}
{userMenuOpen && (

{user?.nombre}

{user?.email}

)}
); }