diff --git a/src/renderer/features/titlebar/components/app-menu.tsx b/src/renderer/features/titlebar/components/app-menu.tsx
index 469118210..82337c0ac 100644
--- a/src/renderer/features/titlebar/components/app-menu.tsx
+++ b/src/renderer/features/titlebar/components/app-menu.tsx
@@ -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: ,
+ 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: ,
+ 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',
},
{