const { app, BrowserWindow, globalShortcut, shell, autoUpdater } = require('electron'); const electronLocalshortcut = require('electron-localshortcut'); const Store = require('electron-store'); const store = new Store(); function initApp() { store.set("init", true); store.set("minimize", true); store.set("startup", true); } const AutoLaunch = require('auto-launch'); // const server = 'https://cdn.g-vm.nl' // const url = `${server}/update/${process.platform}/${app.getVersion()}` // autoUpdater.setFeedURL({ url }) let loadingScreen; function createLoadingScreen() { loadingScreen = new BrowserWindow({ width: 200, height: 400, frame: false, icon: "public/icon/icon.png", backgroundColor: '#212121' }); loadingScreen.setResizable(false); loadingScreen.on('closed', () => loadingScreen = null); loadingScreen.loadFile('public/pages/loadscreen.html') }; function createWindow() { let win = new BrowserWindow({ webPreferences: { nodeIntegration: true, webviewTag: true, // enableBlinkFeatures: false, enableRemoteModule: true }, frame: false, show: false, titleBarStyle: "hidden", backgroundColor: '#212121', 'minWidth': 600, 'minHeight': 600, icon: "public/icon/icon.png" }) // autoUpdater.checkForUpdates() win.loadFile('public/index.html') win.webContents.on('new-window', function (e, url) { e.preventDefault(); shell.openExternal(url); }); electronLocalshortcut.register(win, 'Ctrl+R', () => { win.reload() // app.relaunch() // app.exit() }); electronLocalshortcut.register(win, 'Ctrl+Shift+I', () => { win.webContents.openDevTools() }); win.on("close", e => { if (store.get('minimize')) { e.preventDefault(); if (!app.isQuiting) { win.hide(); } } }) win.once('ready-to-show', () => { if (loadingScreen) { loadingScreen.close(); } win.show() }) } app.on('ready', () => { createLoadingScreen() createWindow() if (!store.get("init")) { initApp() } let autoLaunch = new AutoLaunch({ name: 'Keyzo', path: app.getPath('exe'), }); if (store.get("startup")) { autoLaunch.enable(); } else { autoLaunch.disable(); } }) app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } }) app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow() } })