From cfde45abee531cf834b3b5a7a0d57c54d007703d Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Mon, 30 Oct 2023 17:19:48 -0400 Subject: [PATCH] Add check for quick connect enabled in menu --- src/components/toolbar/AppUserMenu.tsx | 28 +++++++++++++++----------- src/hooks/useQuickConnect.ts | 25 +++++++++++++++++++++++ 2 files changed, 41 insertions(+), 12 deletions(-) create mode 100644 src/hooks/useQuickConnect.ts diff --git a/src/components/toolbar/AppUserMenu.tsx b/src/components/toolbar/AppUserMenu.tsx index 634d02cf88..00121029e4 100644 --- a/src/components/toolbar/AppUserMenu.tsx +++ b/src/components/toolbar/AppUserMenu.tsx @@ -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 = ({ onMenuClose }) => { const { user } = useApi(); + const { data: isQuickConnectEnabled } = useQuickConnectEnabled(); const onClientSettingsClick = useCallback(() => { window.NativeShell?.openClientSettings(); @@ -138,18 +140,20 @@ const AppUserMenu: FC = ({ ])} - - - - - - {globalize.translate('QuickConnect')} - - + {isQuickConnectEnabled && ( + + + + + + {globalize.translate('QuickConnect')} + + + )} {appHost.supports('multiserver') && ( { + 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 }) + }); +};