You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
const { app, BrowserWindow } = require("electron");
|
|
const { autoUpdater } = require("electron-updater");
|
|
const path = require("path");
|
|
require("./app.js");
|
|
|
|
function createWindow() {
|
|
const win = new BrowserWindow({
|
|
show: false,
|
|
icon: __dirname + "/public/icon.png",
|
|
});
|
|
|
|
win.loadURL("http://localhost:59876");
|
|
win.maximize();
|
|
win.show();
|
|
autoUpdater.checkForUpdatesAndNotify();
|
|
}
|
|
|
|
app.whenReady().then(() => {
|
|
createWindow();
|
|
|
|
app.on("activate", () => {
|
|
if (BrowserWindow.getAllWindows().length === 0) {
|
|
createWindow();
|
|
}
|
|
});
|
|
if (process.platform === "win32") {
|
|
app.setAppUserModelId(app.name);
|
|
}
|
|
});
|
|
|
|
app.on("window-all-closed", () => {
|
|
if (process.platform !== "darwin") {
|
|
app.quit();
|
|
}
|
|
});
|
|
|
|
// Auto updater events
|
|
|
|
autoUpdater.on("update-available", (_event, releaseNotes, releaseName) => {
|
|
const dialogOpts = {
|
|
type: 'info',
|
|
buttons: ['Ok'],
|
|
title: 'Application Update',
|
|
message: process.platform === 'win32' ? releaseNotes : releaseName,
|
|
detail: 'A new version is being downloaded.'
|
|
}
|
|
dialog.showMessageBox(dialogOpts, (response) => {
|
|
|
|
});
|
|
})
|
|
|
|
autoUpdater.on("update-downloaded", (_event, releaseNotes, releaseName) => {
|
|
const dialogOpts = {
|
|
type: 'info',
|
|
buttons: ['Restart', 'Later'],
|
|
title: 'Application Update',
|
|
message: process.platform === 'win32' ? releaseNotes : releaseName,
|
|
detail: 'A new version has been downloaded. Restart the application to apply the updates.'
|
|
};
|
|
dialog.showMessageBox(dialogOpts).then((returnValue) => {
|
|
if (returnValue.response === 0) autoUpdater.quitAndInstall()
|
|
})
|
|
}); |