feat: hide oauth relevant option in app config if supportsOauthClients is false

This commit is contained in:
kasia.oczkowska
2025-02-14 12:19:42 +00:00
parent 6cbd642c2a
commit f06b6ffb3f

View File

@@ -12,18 +12,22 @@ import { Switch } from './style';
import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar'; import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar';
import useAdminCreateAppConfig from 'hooks/useAdminCreateAppConfig'; import useAdminCreateAppConfig from 'hooks/useAdminCreateAppConfig';
import useAdminUpdateAppConfig from 'hooks/useAdminUpdateAppConfig'; import useAdminUpdateAppConfig from 'hooks/useAdminUpdateAppConfig';
import useApp from 'hooks/useApp';
function AdminApplicationSettings(props) { function AdminApplicationSettings({ appKey }) {
const formatMessage = useFormatMessage(); const formatMessage = useFormatMessage();
const enqueueSnackbar = useEnqueueSnackbar(); 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 } = const { mutateAsync: createAppConfig, isPending: isCreateAppConfigPending } =
useAdminCreateAppConfig(props.appKey); useAdminCreateAppConfig(appKey);
const { mutateAsync: updateAppConfig, isPending: isUpdateAppConfigPending } = const { mutateAsync: updateAppConfig, isPending: isUpdateAppConfigPending } =
useAdminUpdateAppConfig(props.appKey); useAdminUpdateAppConfig(appKey);
const handleSubmit = async (values) => { const handleSubmit = async (values) => {
try { try {
@@ -46,11 +50,13 @@ function AdminApplicationSettings(props) {
const defaultValues = useMemo( const defaultValues = useMemo(
() => ({ () => ({
useOnlyPredefinedAuthClients: ...(app.supportsOauthClients && {
appConfig?.data?.useOnlyPredefinedAuthClients || false, useOnlyPredefinedAuthClients:
appConfig?.data?.useOnlyPredefinedAuthClients || false,
}),
disabled: appConfig?.data?.disabled || false, disabled: appConfig?.data?.disabled || false,
}), }),
[appConfig?.data], [appConfig?.data, app.supportsOauthClients],
); );
return ( return (
@@ -60,17 +66,21 @@ function AdminApplicationSettings(props) {
render={({ formState: { isDirty } }) => ( render={({ formState: { isDirty } }) => (
<Paper sx={{ p: 2, mt: 4 }}> <Paper sx={{ p: 2, mt: 4 }}>
<Stack spacing={2} direction="column"> <Stack spacing={2} direction="column">
<Switch {app.supportsOauthClients && (
name="useOnlyPredefinedAuthClients" <>
label={formatMessage( <Switch
'adminAppsSettings.useOnlyPredefinedAuthClients', name="useOnlyPredefinedAuthClients"
)} label={formatMessage(
FormControlLabelProps={{ 'adminAppsSettings.useOnlyPredefinedAuthClients',
labelPlacement: 'start', )}
}} FormControlLabelProps={{
/> labelPlacement: 'start',
}}
/>
<Divider /> <Divider />
</>
)}
<Switch <Switch
name="disabled" name="disabled"
@@ -90,7 +100,7 @@ function AdminApplicationSettings(props) {
color="primary" color="primary"
sx={{ boxShadow: 2, mt: 5 }} sx={{ boxShadow: 2, mt: 5 }}
loading={isCreateAppConfigPending || isUpdateAppConfigPending} loading={isCreateAppConfigPending || isUpdateAppConfigPending}
disabled={!isDirty || loading} disabled={!isDirty || loading || appLoading}
> >
{formatMessage('adminAppsSettings.save')} {formatMessage('adminAppsSettings.save')}
</LoadingButton> </LoadingButton>