module.exports = ({ editMenu, isMac }) => [
  {
    label: 'File',
    submenu: [
      { command: 'new.connection', hideDisabled: true },
      { command: 'new.sqliteDatabase', hideDisabled: true },
      { command: 'new.duckdbDatabase', hideDisabled: true },
      { divider: true },
      { command: 'new.query', hideDisabled: true },
      { command: 'new.queryDesign', hideDisabled: true },
      { command: 'new.diagram', hideDisabled: true },
      { command: 'new.perspective', hideDisabled: true },
      { command: 'new.shell', hideDisabled: true },
      { command: 'new.jsonl', hideDisabled: true },
      { command: 'new.modelTransform', hideDisabled: true },
      { divider: true },
      { command: 'file.open', hideDisabled: true },
      { command: 'file.openArchive', hideDisabled: true },
      { divider: true },
      { command: 'group.save', hideDisabled: true },
      { command: 'group.saveAs', hideDisabled: true },
      { divider: true },
      { command: 'file.exit', hideDisabled: true },
      { command: 'app.logout', hideDisabled: true, skipInApp: true },
      { command: 'app.disconnect', hideDisabled: true, skipInApp: true },
    ],
  },
  editMenu
    ? {
        label: 'Edit',
        submenu: [
          { command: 'edit.undo' },
          { command: 'edit.redo' },
          { divider: true },
          { command: 'edit.cut' },
          { command: 'edit.copy' },
          { command: 'edit.paste' },
          { command: 'edit.selectAll' },
        ],
      }
    : null,

  // {
  //   label: 'Edit',
  //   submenu: [
  //     { role: 'undo' },
  //     { role: 'redo' },
  //     { type: 'separator' },
  //     { role: 'cut' },
  //     { role: 'copy' },
  //     { role: 'paste' },
  //   ],
  // },
  {
    label: 'View',
    submenu: [
      { command: 'app.reload', hideDisabled: true },
      { command: 'app.toggleDevTools', hideDisabled: true },
      { command: 'app.toggleFullScreen', hideDisabled: true },
      { command: 'app.minimize', hideDisabled: true },
      { command: 'toggle.sidebar' },
      { divider: true },
      { command: 'theme.changeTheme', hideDisabled: true },
      { command: 'settings.show' },
      { divider: true },
      { command: 'tabs.closeTab', hideDisabled: false },
      { command: 'tabs.closeAll', hideDisabled: false },
      { command: 'tabs.closeTabsWithCurrentDb', hideDisabled: false },
      { command: 'tabs.closeTabsButCurrentDb', hideDisabled: false },
      { divider: true },
      { command: 'app.zoomIn', hideDisabled: true },
      { command: 'app.zoomOut', hideDisabled: true },
      { command: 'app.zoomReset', hideDisabled: true },
    ],
  },
  {
    label: 'Tools',
    submenu: [
      { command: 'database.search', hideDisabled: true },
      { command: 'commandPalette.show', hideDisabled: true },
      { command: 'database.switch', hideDisabled: true },
      { divider: true },
      { command: 'sql.generator', hideDisabled: true },
      { command: 'file.import', hideDisabled: true },
      { command: 'new.modelCompare', hideDisabled: true },
      { divider: true },
      { command: 'folder.showLogs', hideDisabled: true },
      { command: 'folder.showData', hideDisabled: true },
      { command: 'new.gist', hideDisabled: true },
      { command: 'app.resetSettings', hideDisabled: true },
      { divider: true },
      { command: 'app.exportConnections', hideDisabled: true },
      { command: 'app.importConnections', hideDisabled: true },
    ],
  },
  ...(isMac
    ? [
        {
          role: 'window',
          submenu: [{ role: 'minimize' }, { role: 'zoom' }, { type: 'separator' }, { role: 'front' }],
        },
      ]
    : []),
  {
    label: 'Help',
    submenu: [
      { command: 'app.openDocs', hideDisabled: true },
      { command: 'app.openWeb', hideDisabled: true },
      { command: 'app.openIssue', hideDisabled: true },
      { command: 'app.openSponsoring', hideDisabled: true },
      { command: 'app.giveFeedback', hideDisabled: true },
      { divider: true },
      { command: 'settings.commands', hideDisabled: true },
      { command: 'tabs.changelog', hideDisabled: true },
      { command: 'about.show', hideDisabled: true },
      { divider: true },
      { command: 'file.checkForUpdates', hideDisabled: true },
    ],
  },
];
