all routes fixed

This commit is contained in:
IO
2024-07-05 14:43:43 -06:00
parent 619952768e
commit 7a2fb5af09
7 changed files with 16 additions and 60 deletions
+1
View File
@@ -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 (
@@ -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({
+3 -20
View File
@@ -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())
@@ -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) {
-1
View File
@@ -22,7 +22,6 @@ const Guard = () => {
jwtPermissions();
}, []);
console.log(permissions);
return permissions;
};
-1
View File
@@ -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 */
}
+10 -4
View File
@@ -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 (
<div className="admin-interface">
<div className="admin-section">
{permissions === 1 && (
<div className="admin-section">
<div className="section-header">
<h2>Usuarios</h2>
<img src='https://static.vecteezy.com/system/resources/previews/017/066/794/non_2x/user-icon-line-isolated-on-white-background-black-flat-thin-icon-on-modern-outline-style-linear-symbol-and-editable-stroke-simple-and-pixel-perfect-stroke-illustration-vector.jpg' alt="Usuarios" className="section-icon" />
@@ -14,7 +17,9 @@ const InterAdmin = () => {
<button className="action-button" onClick={() => window.location.href= PrivateRoutes.CREARUSUARIO}>Crear</button>
<button className="action-button" onClick={() => window.location.href=PrivateRoutes.FILTERUSUARIO}>Editar</button>
</div>
</div>
</div>
)}
<div className="admin-section">
<div className="section-header">
<h2>Profesores</h2>
@@ -25,6 +30,7 @@ const InterAdmin = () => {
<button className="action-button" onClick={() => window.location.href=PublicRoutes.FILTER}>Editar</button>
</div>
</div>
</div>
);
}