diff --git a/main.js b/main.js index 5fd746c..fa4dede 100644 --- a/main.js +++ b/main.js @@ -13,12 +13,47 @@ let operatorWin; let updateWin; const dataPath = path.join(__dirname, 'data.json'); // Caminho para o JSON (backup local) +const settingsPath = path.join(app.getPath('userData'), 'settings.json'); // Caminho para as configurações const apiUrl = 'https://autoatend.linco.work/api/v1/'; -// const apiUrl = 'http://_lara10-autoatend.devel/api/v1/'; +//? Função para ler as configurações +function getSettings() { + try { + if (fs.existsSync(settingsPath)) { + const settingsData = fs.readFileSync(settingsPath, 'utf-8'); + return JSON.parse(settingsData); + } + } catch (error) { + console.error('Erro ao ler arquivo de configurações:', error); + } + return {}; // Retorna objeto vazio se o arquivo não existir ou houver erro +} + +//? Função para salvar as configurações +function saveSettings(settings) { + try { + fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2)); + } catch (error) { + console.error('Erro ao salvar arquivo de configurações:', error); + } +} + +ipcMain.handle('get-setting', (event, key) => { + const settings = getSettings(); + return settings[key]; +}); + +ipcMain.on('set-setting', (event, key, value) => { + const settings = getSettings(); + settings[key] = value; + saveSettings(settings); + app.relaunch(); + app.exit(); +}); +//! final de configurações + +//!pusher const pusherUrl = 'aa.linco.work'; -// const pusherUrl = 'localhost'; - autoUpdater.autoDownload = false; autoUpdater.autoInstallOnAppQuit = true; @@ -352,7 +387,9 @@ if (!gotTheLock) { app.whenReady().then(async () => { //define a inicialização automatica do aplicativo ao entrar no windows - setAutoLaunch(true); + const settings = getSettings(); + const enableAutoStart = settings.autostart === undefined ? true : settings.autostart; + setAutoLaunch(enableAutoStart); // Verifica se o usuário já está autenticado const token = await getAuthToken(); diff --git a/operator.js b/operator.js index 8dd796c..68d230b 100644 --- a/operator.js +++ b/operator.js @@ -3,9 +3,17 @@ const selectButton = document.getElementById('select-button'); const errorMessage = document.getElementById('error-message'); const quitButton = document.getElementById('sair-button'); const verionSpan = document.getElementById('version'); +const autoStartSwitch = document.getElementById('active-switch'); // Carrega a lista de operadores ao iniciar window.addEventListener('DOMContentLoaded', async () => { + //... (código existente) + + // Carrega o estado do autostart + const autostart = await window.electronAPI.getSetting('autostart'); + autoStartSwitch.checked = autostart === undefined ? true : autostart; + + try { const response = await window.electronAPI.getOperators(); @@ -88,7 +96,10 @@ window.electronAPI.onOperatorResponse((response) => { // Se for bem-sucedido, o processo principal fechará esta janela }); - +autoStartSwitch.addEventListener('change', () => { + const isEnabled = autoStartSwitch.checked; + window.electronAPI.setSetting('autostart', isEnabled); +}); quitButton.addEventListener('click',()=>{ window.electronAPI.quitApp(); diff --git a/operator_preload.js b/operator_preload.js index 9c22702..9def02b 100644 --- a/operator_preload.js +++ b/operator_preload.js @@ -6,4 +6,6 @@ contextBridge.exposeInMainWorld('electronAPI', { showVersion: (version) => ipcRenderer.on('show-version', version), onOperatorResponse: (callback) => ipcRenderer.on('operator-response', (_event, response) => callback(response)), quitApp : () => ipcRenderer.send('sair'), + getSetting: (key) => ipcRenderer.invoke('get-setting', key), + setSetting: (key, value) => ipcRenderer.send('set-setting', key, value), }); \ No newline at end of file diff --git a/package.json b/package.json index 72feba7..a1a285e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "autoatendcolab", - "version": "1.1.4", + "version": "1.1.5", "main": "main.js", "isBuildNow": true, "scripts": { diff --git a/settings.json b/settings.json new file mode 100644 index 0000000..b69ecb0 --- /dev/null +++ b/settings.json @@ -0,0 +1,3 @@ +{ + "autostart": false +} \ No newline at end of file