dmolinari created pull request dmolinari/SIG-CM2.0#61

dmolinari
Tue, 21 Apr 2026 16:38:11 +0000

61#chore(frontend): reorganizar sidebar en secciones + quitar items disabled#

Motivación

El sidebar estaba creciendo y se volvió incómodo:

4 items top-level marcados con badge "Próx." (disabled) generan ruido visual sin ofrecer funcionalidad.

12 items de administración en lista plana, difícil de escanear.

Cambios

1. Eliminación de items fantasma (disabled)

Removidos: Ventas, Tasación (top-level), Integraciones, Administración (como link top-level). Esas features emergerán dentro de las subsecciones cuando estén implementadas, no como placeholders vacíos.

2. Agrupación en 4 secciones (orden del modelo del proyecto)

🏠 Dashboard
────────────
SEGURIDAD
  👥 Usuarios
  ➕ Crear Usuario
  🛡️ Roles
  🔑 Permisos
  📋 Auditoría
────────────
MAESTROS
  📰 Medios
  📑 Secciones
  🏪 Puntos de Venta
────────────
CATÁLOGO
  🏷️ Rubros
  📚 Tipos de Producto
  📦 Productos
────────────
TASACIÓN
  #️⃣ Caracteres Tasables

3. Sección auto-oculta cuando no hay permisos

Si un usuario tiene rol admin pero no tiene ningún permiso de una categoría completa (ej: ningún catalogo:*), la sección entera se oculta — incluido su header. Evita headers vacíos.

Tests

Nuevo archivo src/components/layout/__tests__/AppSidebar.test.tsx con 10 escenarios:

1. Dashboard visible para cualquier usuario

2. Items disabled "Próx." ya NO aparecen

3. Las 4 secciones se muestran para admin con todos los permisos

4. Cada item vive en su sección correcta

5. Secciones sin items permitidos se ocultan (user con permisos parciales)

6. Usuario no-admin NO ve ninguna sección adminOnly

7. Ruta activa marca aria-current="page"

8. Dashboard activo solo en raíz exacta /

9. Header "SIG-CM 2.0" visible en modo expandido

10. Orden de secciones: Seguridad → Maestros → Catálogo → Tasación

Verify

vitest: 520/520 green (+10 nuevos)

tsc --noEmit: 0 errors, 0 warnings

Sin cambios de backend/BD — refactor frontend-only.