diff --git a/web/frontend/src/views/Logs.vue b/web/frontend/src/views/Logs.vue index 5bf37bb..8562928 100644 --- a/web/frontend/src/views/Logs.vue +++ b/web/frontend/src/views/Logs.vue @@ -121,12 +121,17 @@ async function loadLogs(forceReload = false, shouldScroll = null) { const previousScrollTop = logsContainer.value?.scrollTop || 0; const previousScrollHeight = logsContainer.value?.scrollHeight || 0; - loading.value = true; + // Solo mostrar loader en carga inicial o recarga forzada + const isInitialLoad = logs.value.length === 0 || lastLoadedLogHash.value === null; + if (forceReload || isInitialLoad) { + loading.value = true; + } + try { const data = await api.getLogs(500); const newLogs = data.logs || []; - if (forceReload || logs.value.length === 0 || lastLoadedLogHash.value === null) { + if (forceReload || isInitialLoad) { // Carga inicial o recarga forzada: reemplazar todo logs.value = newLogs; lastLoadedLogHash.value = newLogs.length > 0 ? hashLog(newLogs[newLogs.length - 1]) : null; @@ -188,8 +193,13 @@ async function loadLogs(forceReload = false, shouldScroll = null) { } } catch (error) { console.error('Error cargando logs:', error); - } finally { + // Asegurar que el loader se oculte incluso si hay error loading.value = false; + } finally { + // Solo ocultar loader si se mostrĂ³ + if (forceReload || isInitialLoad) { + loading.value = false; + } } }