diff --git a/src/App.js b/src/App.js index 9308297..c248767 100644 --- a/src/App.js +++ b/src/App.js @@ -16,6 +16,7 @@ import Pagina404 from './pages/Pagina404/Pagina404'; import { PrivateRoutes, PublicRoutes } from './models/routes'; import NavUsuario from './components/CardUsuarios/NavUsuario'; import Guard from './guards/route.guard'; + const App = () => { const permissions = Guard(); return ( diff --git a/src/components/CardUsuarios/MapeoUsuario.js b/src/components/CardUsuarios/MapeoUsuario.js index 82f37a4..9b558d3 100644 --- a/src/components/CardUsuarios/MapeoUsuario.js +++ b/src/components/CardUsuarios/MapeoUsuario.js @@ -9,24 +9,9 @@ const MapeoUsuario = ({ filters }) => { const [jwt,setJwt] = useState(); useEffect(() => { - jwtPermissions(); fetchUsuarios(); }, [currentPage, filters]); - const jwtPermissions = () => { - const jwtToken = localStorage.getItem('Token'); - if (!jwtToken) { - console.error('No se encontró el token en localStorage'); - return; - } - - const parts = jwtToken.split('.'); - const decodedPayload = JSON.parse(atob(parts[1])); - const userPermissions = decodedPayload.permissions; - const permissionsString = JSON.stringify(userPermissions); - - console.log(permissionsString); - }; const fetchUsuarios = () => { const query = new URLSearchParams({ diff --git a/src/components/Mapeo.js b/src/components/Mapeo.js index a3dccd1..542a0df 100644 --- a/src/components/Mapeo.js +++ b/src/components/Mapeo.js @@ -1,38 +1,21 @@ import React, { useEffect, useState } from 'react'; import '../App.css'; import CardProfesor from './CardProfesores/CardProfesor'; +import Guard from '../guards/route.guard'; const Mapeo = ({ filters }) => { const [profesores, setProfesores] = useState([]); const [currentPage, setCurrentPage] = useState(1); const [totalPages, setTotalPages] = useState(1); const [edificios, setEdificios] = useState([]); - const [permissions,setPermissions] = useState('') - const [jwt,setJwt] = useState() + + const permissions = Guard(); useEffect(() => { - jwtPermissions(); fetchEdificios(); fetchProfesores(); }, [currentPage, filters]); - const jwtPermissions = () => { - const jwtToken = localStorage.getItem('Token'); - if (!jwtToken) { - console.error('No se encontró el token en localStorage'); - return; - } - - const parts = jwtToken.split('.'); - const decodedPayload = JSON.parse(atob(parts[1])); - const userPermissions = decodedPayload.id_tipo_usuario; - const permissionsString = JSON.stringify(userPermissions); - - setPermissions(permissionsString); - setJwt(jwtToken); - console.log(permissionsString); - }; - const fetchEdificios = () => { fetch('http://localhost:3000/edificio') .then(response => response.json()) diff --git a/src/components/PerfilProfesor/PerfilProfesor.js b/src/components/PerfilProfesor/PerfilProfesor.js index 04976a5..1788595 100644 --- a/src/components/PerfilProfesor/PerfilProfesor.js +++ b/src/components/PerfilProfesor/PerfilProfesor.js @@ -2,6 +2,7 @@ import React, { useEffect, useState } from 'react'; import './PerfilProfesor.css'; import { useParams } from 'react-router-dom'; import { PrivateRoutes } from '../../models/routes'; +import Guard from '../../guards/route.guard'; const defaultImage = 'https://static.vecteezy.com/system/resources/thumbnails/020/765/399/small_2x/default-profile-account-unknown-icon-black-silhouette-free-vector.jpg'; @@ -11,27 +12,10 @@ const PerfilProfesor = () => { const [adscripciones, setAdscripciones] = useState([]); const [categorias, setCategorias] = useState([]); const [edificios, setEdificios] = useState([]); - const [permissions,setPermissions] = useState('') - const [jwt,setJwt] = useState() const [showDialog, setShowDialog] = useState(false); const [confirmText, setConfirmText] = useState(''); - const jwtPermissions = () => { - const jwtToken = localStorage.getItem('Token'); - if (!jwtToken) { - console.error('No se encontró el token en localStorage'); - return; - } - - const parts = jwtToken.split('.'); - const decodedPayload = JSON.parse(atob(parts[1])); - const userPermissions = decodedPayload.id_tipo_usuario; - const permissionsString = JSON.stringify(userPermissions); - - setPermissions(permissionsString); - setJwt(jwtToken); - console.log(permissionsString); - }; + const permissions = Guard(); useEffect(() => { const fetchData = async () => { @@ -65,7 +49,6 @@ const PerfilProfesor = () => { }; fetchData(); - jwtPermissions(); }, [id_profesor]); if (!profesor) { diff --git a/src/guards/route.guard.js b/src/guards/route.guard.js index 6a0c24e..9ff705d 100644 --- a/src/guards/route.guard.js +++ b/src/guards/route.guard.js @@ -22,7 +22,6 @@ const Guard = () => { jwtPermissions(); }, []); - console.log(permissions); return permissions; }; diff --git a/src/pages/PanelNavegacion/InterAdmin.css b/src/pages/PanelNavegacion/InterAdmin.css index e99bc1b..a327c5b 100644 --- a/src/pages/PanelNavegacion/InterAdmin.css +++ b/src/pages/PanelNavegacion/InterAdmin.css @@ -20,7 +20,6 @@ box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Sombra ligera */ background-color: rgb(255, 255, 255); /* Color de fondo de las secciones */ flex: 1 1 calc(50% - 20px); /* Las secciones ocupan el 50% del espacio disponible menos el espacio entre ellas */ - max-width: calc(50% - 20px); /* Ancho máximo para asegurar que no sean demasiado anchas */ transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transiciones para la animación de hover */ } diff --git a/src/pages/PanelNavegacion/InterAdmin.js b/src/pages/PanelNavegacion/InterAdmin.js index 853ba7f..5209a2f 100644 --- a/src/pages/PanelNavegacion/InterAdmin.js +++ b/src/pages/PanelNavegacion/InterAdmin.js @@ -1,11 +1,14 @@ import React from 'react'; -import './InterAdmin.css'; // Importa el archivo CSS para los estilos import { PrivateRoutes, PublicRoutes } from '../../models/routes'; -const InterAdmin = () => { +import Guard from '../../guards/route.guard'; +import './InterAdmin.css'; +const InterAdmin = () => { + const permissions = Guard(); return (