// src/App.jsx import { useState, useEffect } from "react"; import { useAuth } from "./lib/auth"; import Sidebar from "./components/Sidebar"; import Login from "./pages/Login"; import Ocupabilidad from "./pages/Ocupabilidad"; import Ventas from "./pages/Ventas"; import Comisiones from "./pages/Comisiones"; import Cobranza from "./pages/Cobranza"; import Rentabilidad from "./pages/Rentabilidad"; import Asesores from "./pages/Asesores"; import Usuarios from "./pages/Usuarios"; export default function App() { const { autenticado, cargando, permisos, puedeVer } = useAuth(); const [pagina, setPagina] = useState(null); // Al entrar, seleccionar el primer módulo permitido useEffect(() => { if (autenticado && permisos.length > 0 && !pagina) { setPagina(permisos[0]); } if (!autenticado) setPagina(null); }, [autenticado, permisos, pagina]); if (cargando) { return (
Cargando...
); } if (!autenticado) return ; function render() { // Seguridad: si la página actual no está permitida, no renderizar if (pagina && !puedeVer(pagina)) return ; switch (pagina) { case "ocupabilidad": return ; case "ventas": return ; case "comisiones": return ; case "cobranza": return ; case "rentabilidad": return ; case "asesores": return ; case "usuarios": return ; default: return null; } } return (
{render()}
); } function SinAcceso() { return (
🔒 No tienes acceso a este módulo.
); }