From 72acf0ebfca8a85aa064b0da669735488e14214a Mon Sep 17 00:00:00 2001 From: VPS 4 Builder Date: Thu, 28 May 2026 03:55:12 +0200 Subject: [PATCH] fix: corrige a tela de logs que ficava vazia ao abrir a tela de configuracao depois da primeira vez --- config-ui.js | 17 +++++++++++++++++ index.js | 8 ++++++++ package.json | 2 +- preload.js | 1 + 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/config-ui.js b/config-ui.js index 2e1eddb..0964fbe 100644 --- a/config-ui.js +++ b/config-ui.js @@ -45,6 +45,23 @@ document.addEventListener('DOMContentLoaded', async () => { const badge = document.getElementById('app-version-badge'); if (badge) badge.innerText = `Client v${version}`; } + + if (window.api && window.api.getLogs) { + const logs = await window.api.getLogs(); + if (logs && logs.length > 0) { + const terminalLogs = document.getElementById('terminal-logs'); + if (terminalLogs) { + terminalLogs.innerHTML = ''; // clear wait message + logs.forEach(log => { + const div = document.createElement('div'); + div.className = 'log-line'; + div.textContent = log; + terminalLogs.appendChild(div); + }); + terminalLogs.scrollTop = terminalLogs.scrollHeight; + } + } + } loadedConfig = await window.api.getConfig(); diff --git a/index.js b/index.js index cd69f84..cc30a27 100644 --- a/index.js +++ b/index.js @@ -9,6 +9,7 @@ let configWindow = null; let monitorProcess = null; let currentStatus = { connected: false, identified: false }; let downloadProgress = null; // Variável para controlar o progresso de download +const recentLogs = []; // ================================================================ // AUTO-UPDATER CONFIG @@ -145,6 +146,9 @@ function startMonitorProcess() { currentStatus.identified = message.identified; updateTrayMenu(); } else if (message && message.event === 'log') { + recentLogs.push(message.log); + if (recentLogs.length > 100) recentLogs.shift(); + if (configWindow && !configWindow.isDestroyed()) { configWindow.webContents.send('new-log', message.log); } @@ -326,6 +330,10 @@ ipcMain.handle('get-version', () => { return app.getVersion(); }); +ipcMain.handle('get-logs', () => { + return recentLogs; +}); + ipcMain.handle('save-config', (event, newConfig) => { const success = saveConfig(newConfig); if (success) { diff --git a/package.json b/package.json index f41a910..711b0f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rx.scoreodonto.com-client", - "version": "1.2.3", + "version": "1.2.4", "author": "ScoreOdonto", "description": "Cliente Windows para envio de imagens dentais da ScoreOdonto", "main": "index.js", diff --git a/preload.js b/preload.js index b78e2af..cb381ad 100644 --- a/preload.js +++ b/preload.js @@ -3,6 +3,7 @@ const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('api', { getConfig: () => ipcRenderer.invoke('get-config'), getVersion: () => ipcRenderer.invoke('get-version'), + getLogs: () => ipcRenderer.invoke('get-logs'), saveConfig: (config) => ipcRenderer.invoke('save-config', config), testServer: (url) => ipcRenderer.invoke('test-server', url), verifyCredentials: (url, email, password, token) => ipcRenderer.invoke('verify-credentials', url, email, password, token),