(deps: Deps)
| 17 | } |
| 18 | |
| 19 | export function createMenu(deps: Deps) { |
| 20 | if (process.platform !== "darwin") return |
| 21 | |
| 22 | const template = DESKTOP_MENU.filter((menu) => desktopMenuVisible(menu, "macos")).map((menu) => { |
| 23 | if (menu.role) return { role: nativeRole(menu.role) } |
| 24 | return { |
| 25 | label: menu.label, |
| 26 | submenu: menu.items |
| 27 | ?.filter((entry) => desktopMenuVisible(entry, "macos")) |
| 28 | .map((entry) => nativeItem(entry, deps)), |
| 29 | } |
| 30 | }) |
| 31 | |
| 32 | Menu.setApplicationMenu(Menu.buildFromTemplate(template)) |
| 33 | } |
| 34 | |
| 35 | function nativeItem(entry: DesktopMenuEntry, deps: Deps): MenuItemConstructorOptions { |
| 36 | if (entry.type === "separator") return { type: "separator" } |
no test coverage detected