From 086ec64c33330d06c9c8ec77659a12086ac55d38 Mon Sep 17 00:00:00 2001 From: July230 Date: Fri, 4 Jul 2025 18:36:00 -0600 Subject: [PATCH 1/4] Mostrar loader cuando se hace login --- .../framework/utils/scripts/iniciarSesion.js | 9 +++++--- .../framework/utils/scripts/pantallaCarga.js | 21 ++++++++++++++++++- 2 files changed, 26 insertions(+), 4 deletions(-) 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..8482b5f0 100644 --- a/harvester-app/src/framework/utils/scripts/pantallaCarga.js +++ b/harvester-app/src/framework/utils/scripts/pantallaCarga.js @@ -1,4 +1,3 @@ - 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 { ipcRenderer } = require('electron'); @@ -8,6 +7,26 @@ const { ipcRenderer } = require('electron'); * Verifica la validez del token almacenado y redirige según corresponda. */ document.addEventListener('DOMContentLoaded', async () => { + // Detectar si viene de login + 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 (err) { + return ('Error al cargar vista:', err); + } + }, 2000); + return; + } + const token = obtenerToken(); // Llamamos a la función para obtener el token al cargar la página try { From 2dfb3b3835db5d7fa21842f20e960510ed4bc822 Mon Sep 17 00:00:00 2001 From: July230 Date: Fri, 4 Jul 2025 18:40:45 -0600 Subject: [PATCH 2/4] Mover logica dentro del try --- .../framework/utils/scripts/pantallaCarga.js | 64 +++++++++---------- 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/harvester-app/src/framework/utils/scripts/pantallaCarga.js b/harvester-app/src/framework/utils/scripts/pantallaCarga.js index 8482b5f0..b6e78bed 100644 --- a/harvester-app/src/framework/utils/scripts/pantallaCarga.js +++ b/harvester-app/src/framework/utils/scripts/pantallaCarga.js @@ -1,5 +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'); /** @@ -7,29 +7,31 @@ const { ipcRenderer } = require('electron'); * Verifica la validez del token almacenado y redirige según corresponda. */ document.addEventListener('DOMContentLoaded', async () => { - // Detectar si viene de login - const desdeLogin = localStorage.getItem('cargando-desde-login') === 'true'; + 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 (err) { - return ('Error al cargar vista:', err); - } - }, 2000); - return; - } + 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 (err) { + // 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 + const token = obtenerToken(); // Llamamos a la función para obtener el token al cargar la página - try { // Verificar si el token es válido const tokenValido = await verificarToken(token); @@ -47,27 +49,23 @@ document.addEventListener('DOMContentLoaded', async () => { 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); + 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); - } + } catch {} } }); From 10288ae4734d8d1a7384a636d0ec2987654ada35 Mon Sep 17 00:00:00 2001 From: July230 Date: Mon, 7 Jul 2025 13:00:45 -0600 Subject: [PATCH 3/4] Corregir errores de eslint --- .../src/framework/utils/scripts/pantallaCarga.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/harvester-app/src/framework/utils/scripts/pantallaCarga.js b/harvester-app/src/framework/utils/scripts/pantallaCarga.js index b6e78bed..5fc04b0e 100644 --- a/harvester-app/src/framework/utils/scripts/pantallaCarga.js +++ b/harvester-app/src/framework/utils/scripts/pantallaCarga.js @@ -20,7 +20,7 @@ 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) { + } 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); @@ -62,10 +62,8 @@ document.addEventListener('DOMContentLoaded', async () => { } catch { // 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 {} + const vista = await ipcRenderer.invoke('precargar-ejs', rutaIniciarSesion); + window.location.href = vista; } }); From d015de4e1c3c63c09138b6c32e8c6a8a84f3ff84 Mon Sep 17 00:00:00 2001 From: July230 Date: Mon, 7 Jul 2025 13:05:26 -0600 Subject: [PATCH 4/4] Corregir error eslint --- harvester-app/src/framework/utils/scripts/pantallaCarga.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/harvester-app/src/framework/utils/scripts/pantallaCarga.js b/harvester-app/src/framework/utils/scripts/pantallaCarga.js index 5fc04b0e..a0847e92 100644 --- a/harvester-app/src/framework/utils/scripts/pantallaCarga.js +++ b/harvester-app/src/framework/utils/scripts/pantallaCarga.js @@ -48,7 +48,7 @@ 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) { + } catch { const rutaIniciarSesion = `${rutaBase}src/framework/vistas/paginas/iniciarSesion.ejs`; const vista = await ipcRenderer.invoke('precargar-ejs', rutaIniciarSesion); window.location.href = vista;