From 1cc2637b25f846766186dff8b51356641e7c8941 Mon Sep 17 00:00:00 2001 From: santiago Date: Mon, 20 Oct 2025 19:17:37 +0200 Subject: [PATCH] Cambios en el login --- src/app/page.tsx | 30 ++++++++++++++----- .../administrador/tabla-servicio-social.tsx | 2 ++ 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 5d864f1..98a9717 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -14,14 +14,30 @@ export default function Home() { try { const res = await axiosInstance.post('/usuario/login', object); - localStorage.setItem('token', res.data.token); - localStorage.setItem('idUsuario', res.data.Usuario.idUsuarip); - localStorage.setItem('usuario', res.data.Usuario.usuario); - localStorage.setItem('nombre', res.data.Usuario.nombre); - localStorage.setItem('idTipoUsuario', res.data.Usuario.TipoUsuario.idTipoUsuario); - localStorage.setItem('tipoUsuario', res.data.TipoUsuario.tipoUsuario); + // Guardar en localStorage usando encadenamiento opcional y nombres correctos + const token = res?.data?.token ?? ''; + const usuarioObj = res?.data?.Usuario ?? res?.data ?? {}; + const idUsuario = (usuarioObj as any).idUsuario ?? (usuarioObj as any).idUsuarip ?? ''; + const usuario = (usuarioObj as any).usuario ?? ''; + const nombre = (usuarioObj as any).nombre ?? ''; + const idTipoUsuario = (usuarioObj as any).TipoUsuario?.idTipoUsuario ?? ''; + const tipoUsuario = (usuarioObj as any).TipoUsuario?.tipoUsuario ?? res?.data?.TipoUsuario?.tipoUsuario ?? ''; + + localStorage.setItem('token', String(token)); + localStorage.setItem('idUsuario', String(idUsuario)); + localStorage.setItem('usuario', String(usuario)); + localStorage.setItem('nombre', String(nombre)); + localStorage.setItem('idTipoUsuario', String(idTipoUsuario)); + localStorage.setItem('tipoUsuario', String(tipoUsuario)); + + // Redirigir sólo si tenemos token y tipo de usuario + if (token && idUsuario && idTipoUsuario && tipoUsuario) { + router.push('/administrador'); + } else { + // Si la respuesta no contiene lo esperado, limpiar para evitar estado inconsistente + localStorage.clear(); + } - router.push('/alumno'); } catch (error) { console.error(error); } diff --git a/src/components/administrador/tabla-servicio-social.tsx b/src/components/administrador/tabla-servicio-social.tsx index 79d2e62..48d9dbc 100644 --- a/src/components/administrador/tabla-servicio-social.tsx +++ b/src/components/administrador/tabla-servicio-social.tsx @@ -3,6 +3,8 @@ import { FaUser, FaSchool, FaInfoCircle } from "react-icons/fa"; import ServicioSocialTabla from "../servicio-social-tabla"; export default function TablaServicioSocial() { + + return (