diff --git a/apps/electron/main.js b/apps/electron/main.js index fb3c12600a..c7929f6554 100644 --- a/apps/electron/main.js +++ b/apps/electron/main.js @@ -1,6 +1,7 @@ const { app, BrowserWindow, Menu, globalShortcut, Tray, dialog, ipcMain, shell, Notification } = require('electron'); const path = require('path'); const electronConfig = require('./electron.config'); +const { version } = require('./package.json'); const { getApplicationMenu } = require('./src/menu/applicationMenu.js'); const env = process.env.NODE_ENV || 'production'; @@ -187,7 +188,9 @@ app.whenReady().then(() => { ? electronConfig.reactAppUrl.production(port) : electronConfig.reactAppUrl.development(port); - const template = getApplicationMenu(isMac, askToQuit, clientUrl); + const template = getApplicationMenu(isMac, askToQuit, clientUrl, `v${version}`, (path) => { + win.loadURL(`${clientUrl}/${path}`); + }); const menu = Menu.buildFromTemplate(template); Menu.setApplicationMenu(menu); diff --git a/apps/electron/src/menu/applicationMenu.js b/apps/electron/src/menu/applicationMenu.js index 6c34d78a4e..1e8aefbdbd 100644 --- a/apps/electron/src/menu/applicationMenu.js +++ b/apps/electron/src/menu/applicationMenu.js @@ -4,7 +4,7 @@ const { shell } = require('electron'); * @param {boolean} isMac - Whether the target platform is mac * @param {function} askToQuit - function for quitting process */ -function getApplicationMenu(isMac, askToQuit, urlBase) { +function getApplicationMenu(isMac, askToQuit, urlBase, version, redirectWindow) { return [ ...(isMac ? [ @@ -150,6 +150,14 @@ function getApplicationMenu(isMac, askToQuit, urlBase) { { role: 'help', submenu: [ + { + label: 'About', + click: () => redirectWindow('editor?settings=about'), + }, + { + label: version, + click: () => redirectWindow('editor?settings=about'), + }, { label: 'See on github', click: async () => {