From 16971aaa9c1e0a099e820b6113a57748871e0982 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Wed, 3 Dec 2025 14:46:08 -0800 Subject: [PATCH] add manage servers item to app menu --- .../features/titlebar/components/app-menu.tsx | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) 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', }, {