2026-05-25 21:44:31 +05:30
|
|
|
import { app, Menu } from 'electron';
|
|
|
|
|
import { checkForUpdatesManually } from './auto-updater';
|
|
|
|
|
|
|
|
|
|
const checkForUpdatesItem: Electron.MenuItemConstructorOptions = {
|
|
|
|
|
label: 'Check for Updates...',
|
|
|
|
|
click: () => {
|
|
|
|
|
void checkForUpdatesManually();
|
|
|
|
|
},
|
|
|
|
|
};
|
2026-03-20 20:01:13 +02:00
|
|
|
|
|
|
|
|
export function setupMenu(): void {
|
|
|
|
|
const isMac = process.platform === 'darwin';
|
|
|
|
|
const template: Electron.MenuItemConstructorOptions[] = [
|
2026-05-25 21:44:31 +05:30
|
|
|
...(isMac
|
|
|
|
|
? [{
|
|
|
|
|
label: app.name,
|
|
|
|
|
submenu: [
|
|
|
|
|
{ role: 'about' as const },
|
|
|
|
|
checkForUpdatesItem,
|
|
|
|
|
{ type: 'separator' as const },
|
|
|
|
|
{ role: 'services' as const },
|
|
|
|
|
{ type: 'separator' as const },
|
|
|
|
|
{ role: 'hide' as const },
|
|
|
|
|
{ role: 'hideOthers' as const },
|
|
|
|
|
{ role: 'unhide' as const },
|
|
|
|
|
{ type: 'separator' as const },
|
|
|
|
|
{ role: 'quit' as const },
|
|
|
|
|
],
|
|
|
|
|
}]
|
|
|
|
|
: []),
|
2026-03-20 20:01:13 +02:00
|
|
|
{ role: 'fileMenu' as const },
|
|
|
|
|
{ role: 'editMenu' as const },
|
|
|
|
|
{ role: 'viewMenu' as const },
|
|
|
|
|
{ role: 'windowMenu' as const },
|
2026-05-25 21:44:31 +05:30
|
|
|
...(!isMac
|
|
|
|
|
? [{
|
|
|
|
|
role: 'help' as const,
|
|
|
|
|
submenu: [
|
|
|
|
|
checkForUpdatesItem,
|
|
|
|
|
],
|
|
|
|
|
}]
|
|
|
|
|
: []),
|
2026-03-20 20:01:13 +02:00
|
|
|
];
|
|
|
|
|
Menu.setApplicationMenu(Menu.buildFromTemplate(template));
|
|
|
|
|
}
|