1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Add check for quick connect enabled in menu

This commit is contained in:
Bill Thornton 2023-10-30 17:19:48 -04:00
parent e7120061f8
commit cfde45abee
2 changed files with 41 additions and 12 deletions

View file

@ -19,6 +19,7 @@ import { appHost } from 'components/apphost';
import { useApi } from 'hooks/useApi';
import globalize from 'scripts/globalize';
import Dashboard from 'utils/dashboard';
import { useQuickConnectEnabled } from 'hooks/useQuickConnect';
export const ID = 'app-user-menu';
@ -32,6 +33,7 @@ const AppUserMenu: FC<AppUserMenuProps> = ({
onMenuClose
}) => {
const { user } = useApi();
const { data: isQuickConnectEnabled } = useQuickConnectEnabled();
const onClientSettingsClick = useCallback(() => {
window.NativeShell?.openClientSettings();
@ -138,18 +140,20 @@ const AppUserMenu: FC<AppUserMenuProps> = ({
])}
<Divider />
<MenuItem
component={Link}
to='/quickconnect'
onClick={onMenuClose}
>
<ListItemIcon>
<PhonelinkLock />
</ListItemIcon>
<ListItemText>
{globalize.translate('QuickConnect')}
</ListItemText>
</MenuItem>
{isQuickConnectEnabled && (
<MenuItem
component={Link}
to='/quickconnect'
onClick={onMenuClose}
>
<ListItemIcon>
<PhonelinkLock />
</ListItemIcon>
<ListItemText>
{globalize.translate('QuickConnect')}
</ListItemText>
</MenuItem>
)}
{appHost.supports('multiserver') && (
<MenuItem

View file

@ -0,0 +1,25 @@
import { getQuickConnectApi } from '@jellyfin/sdk/lib/utils/api/quick-connect-api';
import { useQuery } from '@tanstack/react-query';
import { AxiosRequestConfig } from 'axios';
import { JellyfinApiContext, useApi } from './useApi';
const fetchQuickConnectEnabled = async (
apiContext: JellyfinApiContext,
options?: AxiosRequestConfig
) => {
const { api } = apiContext;
if (!api) throw new Error('No API instance available');
const response = await getQuickConnectApi(api)
.getQuickConnectEnabled(options);
return response.data;
};
export const useQuickConnectEnabled = () => {
const currentApi = useApi();
return useQuery({
queryKey: [ 'QuickConnect', 'Enabled' ],
queryFn: ({ signal }) => fetchQuickConnectEnabled(currentApi, { signal })
});
};