add manage servers item to app menu

This commit is contained in:
jeffvli
2025-12-03 14:46:08 -08:00
parent 0b5b554eec
commit 16971aaa9c
@@ -1,3 +1,4 @@
import { openModal } from '@mantine/modals';
import isElectron from 'is-electron';
import { Fragment, ReactNode } from 'react';
import { useTranslation } from 'react-i18next';
@@ -5,12 +6,15 @@ import { Link, useNavigate } from 'react-router';
import packageJson from '../../../../../package.json';
import { ServerList } from '/@/renderer/features/servers/components/server-list';
import { AppRoute } from '/@/renderer/router/routes';
import { useAppStore, useAppStoreActions } from '/@/renderer/store';
import { DropdownMenu, MenuItemProps } from '/@/shared/components/dropdown-menu/dropdown-menu';
import { Icon } from '/@/shared/components/icon/icon';
import { toast } from '/@/shared/components/toast/toast';
const localSettings = isElectron() ? window.api.localSettings : null;
const browser = isElectron() ? window.api.browser : null;
interface BaseMenuItem {
@@ -99,6 +103,13 @@ export const AppMenu = () => {
});
};
const handleManageServersModal = () => {
openModal({
children: <ServerList />,
title: t('page.manageServers.title', { postProcess: 'titleCase' }),
});
};
const handleQuit = () => {
browser?.quit();
};
@@ -180,6 +191,21 @@ export const AppMenu = () => {
id: 'divider-2',
type: 'divider',
},
{
condition: !localSettings?.env.SERVER_LOCK,
id: 'manage-servers',
item: {
label: t('page.appMenu.manageServers', { postProcess: 'sentenceCase' }),
leftSection: <Icon icon="edit" />,
onClick: handleManageServersModal,
type: 'item',
},
type: 'conditional-item',
},
{
id: 'divider-3',
type: 'divider',
},
{
icon: 'settings',
id: 'settings',
@@ -188,7 +214,7 @@ export const AppMenu = () => {
type: 'item',
},
{
id: 'divider-3',
id: 'divider-4',
type: 'divider',
},
{