const { app, BrowserWindow, Menu, ipcMain, shell} = require('electron') const path = require('path') if (require('os').platform() === "win32") { logo = path.join(__dirname, "splashicon.ico"); } else if (require('os').platform() === "darwin") { logo = path.join(__dirname, "splashicon.icns"); } else { logo = path.join(__dirname, "splashicon.png"); } const packdata = require('./package.json'); function AcLoader(callback) { const loader = new BrowserWindow({ width: 800, height: 500, icon: logo, resizable: false, fullscreenable: false, frame: false, backgroundColor: packdata.colors.primary, show: false, webPreferences: { nodeIntegration: true, contextIsolation: false } }) loader.loadFile("./splash.html"); loader.setMenu(new Menu()); loader.on('ready-to-show', () => { loader.show(); setTimeout(() => { loader.webContents.send("message", "Checking license..."); setTimeout(() => { loader.webContents.send("message", "Connecting to Argon servers..."); const win = new BrowserWindow({ width: 1100, height: 600, icon: logo, show: false, webPreferences: { preload: path.join(__dirname, "internal.js"), nodeIntegration: false, nodeIntegrationInWorker: false, nodeIntegrationInSubFrames: false, contextIsolation: true, webviewTag: true, enableRemoteModule: true } }) win.setMenu(null); win.webContents.userAgent = win.webContents.userAgent + " +AutomateCloud/1.0" win.loadURL('https://argon.minteck.org/') ipcMain.on('affect-message', (event, message) => { loader.webContents.send("message", message); }) ipcMain.on('finish-startup', () => { loader.hide(); Menu.setApplicationMenu(Menu.buildFromTemplate([ { label: "Argon", submenu: [ { role: "about" }, { type: "separator" }, { role: "quit" } ] }, { role: 'editMenu', submenu: [ { role: 'selectAll' }, { type: 'separator' }, { role: 'undo' }, { role: 'redo' }, { type: 'separator' }, { role: 'cut' }, { role: 'copy' }, { role: 'paste' } ] }, { role: 'viewMenu', submenu: [ { role: 'togglefullscreen' } ] }, { role: 'window', submenu: [ { role: 'minimize' }, { role: 'close' } ] }, { role: 'help' }])); win.show(); }) const { shell } = require('electron') win.webContents.on('new-window', function (event, url) { event.preventDefault() shell.openExternal(url) }) }, 500) }, 500) }) } app.whenReady().then(() => { Menu.setApplicationMenu(new Menu()); AcLoader(() => {}); app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { AcLoader(() => {}); } }) }) app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } })