import { useMemo } from 'react'; import useAppConfig from 'hooks/useAppConfig.ee'; import useFormatMessage from 'hooks/useFormatMessage'; import Divider from '@mui/material/Divider'; import Paper from '@mui/material/Paper'; import Stack from '@mui/material/Stack'; import LoadingButton from '@mui/lab/LoadingButton'; import { useMutation } from '@apollo/client'; import { CREATE_APP_CONFIG } from 'graphql/mutations/create-app-config'; import { UPDATE_APP_CONFIG } from 'graphql/mutations/update-app-config'; import Form from 'components/Form'; import { Switch } from './style'; import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar'; function AdminApplicationSettings(props) { const { appConfig, loading } = useAppConfig(props.appKey); const [createAppConfig, { loading: loadingCreateAppConfig }] = useMutation( CREATE_APP_CONFIG, { refetchQueries: ['GetAppConfig'], }, ); const [updateAppConfig, { loading: loadingUpdateAppConfig }] = useMutation( UPDATE_APP_CONFIG, { refetchQueries: ['GetAppConfig'], }, ); const formatMessage = useFormatMessage(); const enqueueSnackbar = useEnqueueSnackbar(); const handleSubmit = async (values) => { try { if (!appConfig) { await createAppConfig({ variables: { input: { key: props.appKey, ...values }, }, }); } else { await updateAppConfig({ variables: { input: { id: appConfig.id, ...values }, }, }); } enqueueSnackbar(formatMessage('adminAppsSettings.successfullySaved'), { variant: 'success', SnackbarProps: { 'data-test': 'snackbar-save-admin-apps-settings-success', }, }); } catch (error) { throw new Error('Failed while saving!'); } }; const defaultValues = useMemo( () => ({ allowCustomConnection: appConfig?.allowCustomConnection || false, shared: appConfig?.shared || false, disabled: appConfig?.disabled || false, }), [appConfig], ); return (
); } export default AdminApplicationSettings;