Skip to content

feat(comercial/auth): ModuloGate por modulo y pantalla 404 amigable

Alan Amox requested to merge comercial into qa

Cada pagina protegida (/ventas, /metas, /inicio y /ventas-admin/*) ahora se envuelve en . El gate consulta /me.modulos, hace fast-path para super_admin y llama notFound() si el usuario no tiene el modulo requerido. El backend ya hace defensa en profundidad via require_modulo, esto solo cambia el error crudo por un 404 amigable.

Nuevo app/not-found.tsx: client component con smart redirect, lee me.modulos y deja el boton Ir a mi inicio apuntando al primer modulo activo del usuario (dashboard_general, ventas, metas, lineas_negocio, roles). Sin sesion o falla -> /login.

El indice /ventas-admin acepta [roles, lineas_negocio]; cada subpagina gatea por su propio modulo. /inicio queda gateado por dashboard_general para que gerente y kam reciban el 404 al tipear la URL directa.

Merge request reports

Loading