// noinspection HttpUrlsUsage const { app, BrowserWindow, ipcMain } = require('electron'); const createWindow = () => { global.mainWindow = new BrowserWindow({ width: 1200, height: 700, title: "Bits", fullscreenable: false, backgroundColor: "#222", webPreferences: { nodeIntegration: true, nodeIntegrationInSubFrames: true, contextIsolation: false, enableRemoteModule: true } }) mainWindow.loadFile('index.html') mainWindow.menuBarVisible = false; } process.on('uncaughtException', (error) => { console.error(error); }) app.whenReady().then(() => { createWindow() }) app.on('window-all-closed', () => { app.quit() }) global.authenticationSucceeded = false; ipcMain.on("login", () => { const loginWindow = new BrowserWindow({ width: 500, height: 800, parent: mainWindow, title: "Bits", show: false, fullscreenable: false, backgroundColor: "#fff", webPreferences: { nodeIntegration: false, nodeIntegrationInSubFrames: false, contextIsolation: true, enableRemoteModule: false } }); global.authenticationCheckInterval = setInterval(() => { let url = loginWindow.webContents.getURL(); if (url.startsWith("https://account.minteck.org") || url.includes("Disallowed")) { loginWindow.show(); } if (url === "https://money.equestria.dev/Authentication/Success/") { clearInterval(authenticationCheckInterval); global.authenticationSucceeded = true; loginWindow.close(); mainWindow.webContents.reload(); } }, 100); loginWindow.on('close', () => { if (!authenticationSucceeded) mainWindow.close(); }) loginWindow.loadURL("https://money.equestria.dev/Authentication/Start"); })