import { useEffect, useState } from 'react' import { getSesion, type UsuarioSesion } from '../services/auth' import DarkModeToggle from './DarkModeToggle' import { CommandPalette } from './CommandPalette' interface Props { usuario?: UsuarioSesion | null onConfiguraciones?: () => void } /** Barra superior: marca a la izquierda, estado de sesión y acceso a configuración a la derecha */ export function Navbar({ usuario, onConfiguraciones }: Props) { const [conSesion, setConSesion] = useState(() => getSesion() !== null) const [menuAbierto, setMenuAbierto] = useState(false) useEffect(() => { const actualizar = () => setConSesion(getSesion() !== null) window.addEventListener('frasa:sesion', actualizar) window.addEventListener('storage', actualizar) return () => { window.removeEventListener('frasa:sesion', actualizar) window.removeEventListener('storage', actualizar) } }, []) const esAdmin = usuario?.rol === 'admin' return (
CRM360 FRASA. {/* Desktop nav */}
{esAdmin && onConfiguraciones && ( )} Configuración
{/* Mobile hamburger */}
{/* Mobile menu panel */} {menuAbierto && (
{esAdmin && onConfiguraciones && ( )} setMenuAbierto(false)} > Configuración
)}
) }