| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import { Menu, MenuItem, PredefinedMenuItem, Submenu } from "@tauri-apps/api/menu"
- import { type as ostype } from "@tauri-apps/plugin-os"
- import { runUpdater, UPDATER_ENABLED } from "./updater"
- import { installCli } from "./cli"
- export async function createMenu() {
- if (ostype() !== "macos") return
- const menu = await Menu.new({
- items: [
- await Submenu.new({
- text: "OpenCode",
- items: [
- await PredefinedMenuItem.new({
- item: { About: null },
- }),
- await MenuItem.new({
- enabled: UPDATER_ENABLED,
- action: () => runUpdater({ alertOnFail: true }),
- text: "Check For Updates...",
- }),
- await MenuItem.new({
- action: () => installCli(),
- text: "Install CLI...",
- }),
- await PredefinedMenuItem.new({
- item: "Separator",
- }),
- await PredefinedMenuItem.new({
- item: "Hide",
- }),
- await PredefinedMenuItem.new({
- item: "HideOthers",
- }),
- await PredefinedMenuItem.new({
- item: "ShowAll",
- }),
- await PredefinedMenuItem.new({
- item: "Separator",
- }),
- await PredefinedMenuItem.new({
- item: "Quit",
- }),
- ].filter(Boolean),
- }),
- // await Submenu.new({
- // text: "File",
- // items: [
- // await MenuItem.new({
- // enabled: false,
- // text: "Open Project...",
- // }),
- // await PredefinedMenuItem.new({
- // item: "Separator"
- // }),
- // await MenuItem.new({
- // enabled: false,
- // text: "New Session",
- // }),
- // await PredefinedMenuItem.new({
- // item: "Separator"
- // }),
- // await MenuItem.new({
- // enabled: false,
- // text: "Close Project",
- // })
- // ]
- // }),
- await Submenu.new({
- text: "Edit",
- items: [
- await PredefinedMenuItem.new({
- item: "Undo",
- }),
- await PredefinedMenuItem.new({
- item: "Redo",
- }),
- await PredefinedMenuItem.new({
- item: "Separator",
- }),
- await PredefinedMenuItem.new({
- item: "Cut",
- }),
- await PredefinedMenuItem.new({
- item: "Copy",
- }),
- await PredefinedMenuItem.new({
- item: "Paste",
- }),
- await PredefinedMenuItem.new({
- item: "SelectAll",
- }),
- ],
- }),
- ],
- })
- menu.setAsAppMenu()
- }
|