From f06b6ffb3f17a7123440b3334e4df9e875db8548 Mon Sep 17 00:00:00 2001 From: "kasia.oczkowska" Date: Fri, 14 Feb 2025 12:19:42 +0000 Subject: [PATCH] feat: hide oauth relevant option in app config if supportsOauthClients is false --- .../AdminApplicationSettings/index.jsx | 46 +++++++++++-------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/packages/web/src/components/AdminApplicationSettings/index.jsx b/packages/web/src/components/AdminApplicationSettings/index.jsx index 99b46a74..9f20281d 100644 --- a/packages/web/src/components/AdminApplicationSettings/index.jsx +++ b/packages/web/src/components/AdminApplicationSettings/index.jsx @@ -12,18 +12,22 @@ import { Switch } from './style'; import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar'; import useAdminCreateAppConfig from 'hooks/useAdminCreateAppConfig'; import useAdminUpdateAppConfig from 'hooks/useAdminUpdateAppConfig'; +import useApp from 'hooks/useApp'; -function AdminApplicationSettings(props) { +function AdminApplicationSettings({ appKey }) { const formatMessage = useFormatMessage(); const enqueueSnackbar = useEnqueueSnackbar(); - const { data: appConfig, isLoading: loading } = useAppConfig(props.appKey); + const { data: appData, loading: appLoading } = useApp(appKey); + const app = appData?.data || {}; + + const { data: appConfig, isLoading: loading } = useAppConfig(appKey); const { mutateAsync: createAppConfig, isPending: isCreateAppConfigPending } = - useAdminCreateAppConfig(props.appKey); + useAdminCreateAppConfig(appKey); const { mutateAsync: updateAppConfig, isPending: isUpdateAppConfigPending } = - useAdminUpdateAppConfig(props.appKey); + useAdminUpdateAppConfig(appKey); const handleSubmit = async (values) => { try { @@ -46,11 +50,13 @@ function AdminApplicationSettings(props) { const defaultValues = useMemo( () => ({ - useOnlyPredefinedAuthClients: - appConfig?.data?.useOnlyPredefinedAuthClients || false, + ...(app.supportsOauthClients && { + useOnlyPredefinedAuthClients: + appConfig?.data?.useOnlyPredefinedAuthClients || false, + }), disabled: appConfig?.data?.disabled || false, }), - [appConfig?.data], + [appConfig?.data, app.supportsOauthClients], ); return ( @@ -60,17 +66,21 @@ function AdminApplicationSettings(props) { render={({ formState: { isDirty } }) => ( - + {app.supportsOauthClients && ( + <> + - + + + )} {formatMessage('adminAppsSettings.save')}