import { useEffect, useState } from 'react'; import { Link, useNavigate, useLocation } from 'react-router-dom'; import { useAuth } from '../../contexts/AuthContext'; import { FileText, Shield, PenTool, LayoutDashboard, LogOut, Palette, Menu, X, KeyRound, Users, Settings, ScrollText, Scale } from 'lucide-react'; import ChangePasswordModal from '../ui/ChangePasswordModal'; const navSections = [ { label: 'Principal', items: [ { to: '/dashboard', icon: LayoutDashboard, label: 'Dashboard' }, { to: '/documents', icon: FileText, label: 'Mis documentos' }, { to: '/signatures', icon: PenTool, label: 'Firmar ahora' }, { to: '/certificates', icon: Users, label: 'Firmantes' }, ], }, { label: 'Sistema', items: [ { to: '/signature-style', icon: Settings, label: 'Configuración' }, { to: '/audit', icon: ScrollText, label: 'Auditoría' }, ], }, ]; const topbarTitles = { '/dashboard': 'Dashboard', '/documents': 'Mis documentos', '/certificates': 'Firmantes', '/signature-style': 'Configuración', '/signatures': 'Firmar ahora', '/legal': 'Legal', '/audit': 'Auditoría', }; export default function Layout({ children }) { const { user, logout } = useAuth(); const navigate = useNavigate(); const location = useLocation(); const [mobileMenuOpen, setMobileMenuOpen] = useState(false); const [showChangePassword, setShowChangePassword] = useState(false); useEffect(() => { setMobileMenuOpen(false); }, [location.pathname]); const handleLogout = async () => { await logout(); navigate('/login'); }; const currentTitle = topbarTitles[location.pathname] || 'FirmaDoc'; return (