diff --git a/harvester-app/src/framework/utils/scripts/iniciarSesion.js b/harvester-app/src/framework/utils/scripts/iniciarSesion.js index 9f5bbd9f..6dca1e74 100644 --- a/harvester-app/src/framework/utils/scripts/iniciarSesion.js +++ b/harvester-app/src/framework/utils/scripts/iniciarSesion.js @@ -90,14 +90,17 @@ async function manejarInicioSesion() { // Reiniciar verificación periódica después del login exitoso await ipcRenderer.invoke('reiniciar-verificacion-periodica'); - const rutaInicio = `${rutaBase}src/framework/vistas/paginas/inicio/inicio.ejs`; + // Guardar bandera para saber que vienes de login + localStorage.setItem('cargando-desde-login', 'true'); + + // Redirigir a pantallaCarga.ejs en vez de inicio.ejs directamente + const rutaPantallaCarga = `${rutaBase}src/framework/vistas/paginas/pantallaCarga.ejs`; try { - const vista = await ipcRenderer.invoke('precargar-ejs', rutaInicio,{Seccion: 'Inicio', Icono: 'Casa', permisos: listaPermisos}); + const vista = await ipcRenderer.invoke('precargar-ejs', rutaPantallaCarga, { rutaBase, permisos: listaPermisos }); window.location.href = vista; } catch (err) { return ('Error al cargar vista:', err); } - } else { mostrarAlerta('Verifica tus datos', respuesta.mensaje, 'warning'); } diff --git a/harvester-app/src/framework/utils/scripts/pantallaCarga.js b/harvester-app/src/framework/utils/scripts/pantallaCarga.js index 81d351a4..a0847e92 100644 --- a/harvester-app/src/framework/utils/scripts/pantallaCarga.js +++ b/harvester-app/src/framework/utils/scripts/pantallaCarga.js @@ -1,6 +1,5 @@ - -const { verificarToken } = require(`${rutaBase}/src/backend/servicios/verificarToken`); // Importar la función verificarToken -const { verificarPermisos } = require(`${rutaBase}/src/backend/servicios/verificarPermisos`); // Importar la función verificarPermisos +const { verificarToken } = require(`${rutaBase}/src/backend/servicios/verificarToken`); +const { verificarPermisos } = require(`${rutaBase}/src/backend/servicios/verificarPermisos`); const { ipcRenderer } = require('electron'); /** @@ -8,9 +7,31 @@ const { ipcRenderer } = require('electron'); * Verifica la validez del token almacenado y redirige según corresponda. */ document.addEventListener('DOMContentLoaded', async () => { - const token = obtenerToken(); // Llamamos a la función para obtener el token al cargar la página - try { + const desdeLogin = localStorage.getItem('cargando-desde-login') === 'true'; + + if (desdeLogin) { + // Solo mostrar loader y redirigir sin verificar token/permiso + setTimeout(async () => { + localStorage.removeItem('cargando-desde-login'); + const permisos = JSON.parse(localStorage.getItem('permisos') || '[]'); + const rutaInicio = `${rutaBase}src/framework/vistas/paginas/inicio/inicio.ejs`; + try { + localStorage.setItem('seccion-activa', 'inicio'); + const vista = await ipcRenderer.invoke('precargar-ejs', rutaInicio, { Seccion : 'Inicio', Icono : 'Casa', permisos}); + window.location.href = vista; + } catch { + // Si ocurre un error al cargar inicio, redirigir a iniciarSesion + const rutaIniciarSesion = `${rutaBase}src/framework/vistas/paginas/iniciarSesion.ejs`; + const vista = await ipcRenderer.invoke('precargar-ejs', rutaIniciarSesion); + window.location.href = vista; + } + }, 2000); + return; + } + + const token = obtenerToken(); // Llamamos a la función para obtener el token al cargar la página + // Verificar si el token es válido const tokenValido = await verificarToken(token); @@ -27,28 +48,22 @@ document.addEventListener('DOMContentLoaded', async () => { localStorage.setItem('seccion-activa', 'inicio'); const vista = await ipcRenderer.invoke('precargar-ejs', rutaInicio, { Seccion : 'Inicio', Icono : 'Casa', permisos}); window.location.href = vista; - } catch (err) { - return ('Error al cargar vista:', err); + } catch { + const rutaIniciarSesion = `${rutaBase}src/framework/vistas/paginas/iniciarSesion.ejs`; + const vista = await ipcRenderer.invoke('precargar-ejs', rutaIniciarSesion); + window.location.href = vista; } } else { const rutaIniciarSesion = `${rutaBase}src/framework/vistas/paginas/iniciarSesion.ejs`; - try { - const vista = await ipcRenderer.invoke('precargar-ejs', rutaIniciarSesion); - window.location.href = vista; - } catch (err) { - return ('Error al cargar vista:', err); - } + const vista = await ipcRenderer.invoke('precargar-ejs', rutaIniciarSesion); + window.location.href = vista; } } catch { - // En caso de error, mostrar la pantalla de carga y luego redirigir a inicio de sesión + // Si ocurre cualquier error, redirigir a iniciarSesion const rutaIniciarSesion = `${rutaBase}src/framework/vistas/paginas/iniciarSesion.ejs`; - try { - const vista = await ipcRenderer.invoke('precargar-ejs', rutaIniciarSesion); - window.location.href = vista; - } catch (err) { - return ('Error al cargar vista:', err); - } + const vista = await ipcRenderer.invoke('precargar-ejs', rutaIniciarSesion); + window.location.href = vista; } });