add login page for locked server

This commit is contained in:
jeffvli
2025-11-18 17:45:29 -08:00
parent 92d4681a23
commit 70242c4044
8 changed files with 246 additions and 13 deletions
@@ -1,5 +1,6 @@
import { openModal } from '@mantine/modals';
import { useQuery, useQueryClient } from '@tanstack/react-query';
import isElectron from 'is-electron';
import { useTranslation } from 'react-i18next';
import { useNavigate } from 'react-router';
@@ -16,6 +17,8 @@ import { Icon } from '/@/shared/components/icon/icon';
import { ServerListItemWithCredential, ServerType } from '/@/shared/types/domain-types';
import { ServerFeature } from '/@/shared/types/features-types';
const localSettings = isElectron() ? window.api.localSettings : null;
export const ServerSelectorItems = () => {
const { t } = useTranslation();
const navigate = useNavigate();
@@ -87,6 +90,8 @@ export const ServerSelectorItems = () => {
});
};
const serverLock = localSettings?.env.SERVER_LOCK || false;
return (
<>
<DropdownMenu.Label>
@@ -120,12 +125,14 @@ export const ServerSelectorItems = () => {
</DropdownMenu.Item>
);
})}
<DropdownMenu.Item
leftSection={<Icon icon="edit" />}
onClick={handleManageServersModal}
>
{t('page.appMenu.manageServers', { postProcess: 'sentenceCase' })}
</DropdownMenu.Item>
{!serverLock && (
<DropdownMenu.Item
leftSection={<Icon icon="edit" />}
onClick={handleManageServersModal}
>
{t('page.appMenu.manageServers', { postProcess: 'sentenceCase' })}
</DropdownMenu.Item>
)}
{musicFolders && musicFolders.items.length > 0 && (
<>
<DropdownMenu.Divider />