mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-07 04:20:12 +02:00
add manage servers item to app menu
This commit is contained in:
@@ -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',
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user