diff --git a/src/app.js b/src/app.js index fbf96fd30..4774a46d1 100644 --- a/src/app.js +++ b/src/app.js @@ -3,7 +3,7 @@ * @license CC-BY-NC 4.0 - https://creativecommons.org/licenses/by-nc/4.0/ */ -const { app, ipcMain } = require('electron'); +const { app, ipcMain, shell, dialog } = require('electron'); const { Microsoft } = require('minecraft-java-core'); const { autoUpdater } = require('electron-updater') @@ -60,6 +60,22 @@ ipcMain.handle('relaunch-app', () => { app.exit(); }); +ipcMain.handle('show-mac-update-dialog', async (event) => { + const options = { + type: 'info', + buttons: ['Télécharger la mise à jour', 'Fermer'], + message: 'Une nouvelle mise à jour est disponible. Veuillez télécharger la dernière mise à jour.' + }; + + const response = await dialog.showMessageBox(options); + if (response.response === 0) { + shell.openExternal('https://github.com/Almyria/launcher/releases'); + app.quit(); + } else { + app.quit(); + } +}); + app.on('window-all-closed', () => { if (process.platform !== 'darwin') app.quit(); }); diff --git a/src/assets/js/index.js b/src/assets/js/index.js index 8e8563957..65d36f93b 100644 --- a/src/assets/js/index.js +++ b/src/assets/js/index.js @@ -4,7 +4,7 @@ */ 'use strict'; -const { ipcRenderer, dialog, shell, app } = require('electron'); +const { ipcRenderer } = require('electron'); const os = require('os'); import { config } from './utils.js'; @@ -54,22 +54,6 @@ class Splash { this.checkUpdate(); } - showMacOSUpdateDialog() { - const options = { - type: 'info', - buttons: ['Télécharger la mise à jour', 'Fermer'], - message: 'Une nouvelle mise à jour est disponible. Veuillez télécharger la dernière mise à jour.' - }; - - dialog.showMessageBox(options).then(response => { - if (response.response === 0) { - shell.openExternal('https://github.com/Almyria/launcher/releases'); - } else { - app.quit(); - } - }); - } - async checkUpdate() { if (dev) return this.startLauncher(); this.setStatus(`Recherche de mise à jour...`); @@ -84,7 +68,7 @@ class Splash { ipcRenderer.on('updateAvailable', () => { if (os.platform() === 'darwin') { // if the OS is MacOS this.setStatus(`Mise à jour disponible !`); - this.showMacOSUpdateDialog(); + ipcRenderer.invoke('show-mac-update-dialog'); } else { this.setStatus(`Mise à jour disponible !`); this.toggleProgress();