sort marca
This commit is contained in:
@@ -155,8 +155,13 @@ export default function Page() {
|
||||
axios.get(`${api_url}/equipos/laboratorios`, { headers }),
|
||||
axios.get(`${api_url}/equipos/proyectos`, { headers }),
|
||||
]);
|
||||
|
||||
const ordenados = marcasRes.data.sort((a: Marca, b: Marca) =>
|
||||
a.marca.localeCompare(b.marca)
|
||||
);
|
||||
|
||||
setTiposUso(usosRes.data);
|
||||
setMarcas(marcasRes.data);
|
||||
setMarcas(ordenados);
|
||||
setEstados(estadosRes.data);
|
||||
setAdscripciones(adscripcionesRes.data);
|
||||
setTiposEquipo(tiposEquipoRes.data);
|
||||
|
||||
@@ -13,7 +13,8 @@ function BarNavigation() {
|
||||
|
||||
const cerrarSesion = () => {
|
||||
if (typeof window !== "undefined") {
|
||||
localStorage.removeItem("loggedIn");
|
||||
document.cookie =
|
||||
"token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Strict";
|
||||
router.push("/");
|
||||
}
|
||||
setOpenMenu(false);
|
||||
|
||||
@@ -13,7 +13,8 @@ function BarNavigation() {
|
||||
|
||||
const cerrarSesion = () => {
|
||||
if (typeof window !== "undefined") {
|
||||
localStorage.removeItem("loggedIn");
|
||||
document.cookie =
|
||||
"token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Strict";
|
||||
router.push("/");
|
||||
}
|
||||
setOpenMenu(false);
|
||||
@@ -43,7 +44,7 @@ function BarNavigation() {
|
||||
<span>Equipo de Computo</span>
|
||||
</Link>
|
||||
</li>
|
||||
<li className="subMenu" onClick={toggleMenu}>
|
||||
<li className="subMenu" onClick={toggleMenu}>
|
||||
<Link href="/perifericos" className="links">
|
||||
<span>Perifericos</span>
|
||||
</Link>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { useState, useEffect } from "react";
|
||||
import axios from "axios";
|
||||
import Cookies from "js-cookie";
|
||||
import "./pregunta1.1.css";
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import type { NextRequest } from "next/server";
|
||||
|
||||
export function middleware(request: NextRequest) {
|
||||
const token = request.cookies.get("token")?.value;
|
||||
|
||||
if (!token) {
|
||||
console.log("No hay token, redirigiendo a la página de inicio de sesión");
|
||||
return NextResponse.redirect(new URL("/", request.url));
|
||||
}
|
||||
|
||||
return NextResponse.next();
|
||||
}
|
||||
|
||||
export const config = {
|
||||
matcher: ["/escaner","/agregarEquipo","/editar","/crearCuenta","/equipoComputo","/perifericos"],
|
||||
};
|
||||
//IO
|
||||
@@ -0,0 +1,46 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import type { NextRequest } from "next/server";
|
||||
import { jwtDecode } from "jwt-decode";
|
||||
|
||||
const permisos: Record<number, string[]> = {
|
||||
1: ["/crearCuenta", "/equipoComputo", "/perifericos","/escaner", "/agregarEquipo", "/editar"],
|
||||
2: ["/escaner", "/agregarEquipo", "/editar"],
|
||||
};
|
||||
|
||||
export function proxy(request: NextRequest) {
|
||||
const token = request.cookies.get("token")?.value;
|
||||
|
||||
if (!token) {
|
||||
return NextResponse.redirect(new URL("/", request.url));
|
||||
}
|
||||
|
||||
const decoded: any = jwtDecode(token);
|
||||
const tipoUsuario = decoded.tipoUsuario
|
||||
|
||||
if (!tipoUsuario) {
|
||||
return NextResponse.redirect(new URL("/", request.url));
|
||||
}
|
||||
|
||||
const pathname = new URL(request.url).pathname;
|
||||
|
||||
const rutasPermitidas = permisos[tipoUsuario] ?? [];
|
||||
|
||||
if (!rutasPermitidas.includes(pathname)) {
|
||||
console.log(`Usuario tipo ${tipoUsuario} NO autorizado para: ${pathname}`);
|
||||
return NextResponse.redirect(new URL("/", request.url));
|
||||
}
|
||||
|
||||
return NextResponse.next();
|
||||
}
|
||||
|
||||
export const config = {
|
||||
matcher: [
|
||||
"/escaner",
|
||||
"/agregarEquipo",
|
||||
"/editar",
|
||||
"/crearCuenta",
|
||||
"/equipoComputo",
|
||||
"/perifericos",
|
||||
],
|
||||
};
|
||||
//IO
|
||||
Reference in New Issue
Block a user