fix: version 2.4.0 -- menu lateral como drawer en celular
En pantallas angostas (<=768px) el sidebar arranca oculto y se abre como panel superpuesto desde el boton de hamburguesa, con fondo oscuro detras y cierre automatico al navegar o tocar afuera. El escritorio no se toca: sigue igual que siempre. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -17,15 +17,17 @@ const ITEMS = [
|
||||
{ to: '/configuracion', icon: Settings, labelKey: 'nav_config', superadminOnly: true },
|
||||
];
|
||||
|
||||
export function NavigationView({ mode }) {
|
||||
export function NavigationView({ mode, mobileOpen, onNavigate }) {
|
||||
const { t, theme } = useUi();
|
||||
const { user } = useAuth();
|
||||
const branding = useBranding();
|
||||
const compact = mode === 'compact';
|
||||
// En celular el drawer siempre se ve completo (con etiquetas), sin importar el modo
|
||||
// compacto/expandido del riel de escritorio -- son dos cosas independientes.
|
||||
const compact = mode === 'compact' && !mobileOpen;
|
||||
const items = ITEMS.filter((item) => !item.superadminOnly || user?.roleCode === 'superadmin');
|
||||
const brandName = branding.name || t('appName');
|
||||
return (
|
||||
<nav className={`nav-view ${mode}`}>
|
||||
<nav className={`nav-view ${mode} ${mobileOpen ? 'mobile-open' : ''}`}>
|
||||
{branding.logoUrl && (
|
||||
<div className="nav-header">
|
||||
<img
|
||||
@@ -37,9 +39,9 @@ export function NavigationView({ mode }) {
|
||||
)}
|
||||
<div className="nav-items">
|
||||
{items.map((item) => (
|
||||
<NavLink key={item.to} to={item.to} end={item.end} className={({ isActive }) => `nav-item ${isActive ? 'active' : ''}`}>
|
||||
<NavLink key={item.to} to={item.to} end={item.end} onClick={onNavigate} className={({ isActive }) => `nav-item ${isActive ? 'active' : ''}`}>
|
||||
<item.icon />
|
||||
{mode !== 'compact' && <span>{t(item.labelKey)}</span>}
|
||||
{!compact && <span>{t(item.labelKey)}</span>}
|
||||
</NavLink>
|
||||
))}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user