const { ipcMain } = require('electron') const { app, BrowserWindow } = require('electron') const path = require('path') const cfg = require('./src/config.js') let win let config = cfg.get_config(cfg.load_parser()) // NOTE: this line is only here for demonstration as the current make script exposes this var // so that we can test against self signed certificates but still use ssl // process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = '0' function createWin() { win = new BrowserWindow({ width: 800, height: 600, minWidth: 640, minHeight: 480, webPreferences: { nodeIntegration: true, preload: path.join(__dirname + '/preload.js') }, autoHideMenuBar: true, }) win.loadFile('pages/index.html'); win.on('closed', () => { win = null }); } app.on('ready', createWin); // on mac just because the windows are closed doesn't mean the application is too // ! The toolbar keeps things alive against its will app.on('window-all-closed', () => { if(process.platform !== 'darwin') { app.quit() } }); app.on('activate', () => { if(win === null) { createWin(); load_config('./example-dev-config.json'); // for now } }); // returns the config ipcMain.handle('config-request', async function(event, _arg) { return config; }) ipcMain.handle('config-update', function(event, data) { config = data; cfg.update_file(data, data['path']); })