import PropTypes from 'prop-types'; 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 Form from 'components/Form'; import { Switch } from './style'; import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar'; import useAdminCreateAppConfig from 'hooks/useAdminCreateAppConfig'; import useAdminUpdateAppConfig from 'hooks/useAdminUpdateAppConfig'; function AdminApplicationSettings(props) { const formatMessage = useFormatMessage(); const enqueueSnackbar = useEnqueueSnackbar(); const { data: appConfig, isLoading: loading } = useAppConfig(props.appKey); const { mutateAsync: createAppConfig, isPending: isCreateAppConfigPending } = useAdminCreateAppConfig(props.appKey); const { mutateAsync: updateAppConfig, isPending: isUpdateAppConfigPending } = useAdminUpdateAppConfig(props.appKey); const handleSubmit = async (values) => { try { if (!appConfig?.data) { await createAppConfig(values); } else { await updateAppConfig(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( () => ({ customConnectionAllowed: appConfig?.data?.customConnectionAllowed || false, shared: appConfig?.data?.shared || false, disabled: appConfig?.data?.disabled || false, }), [appConfig?.data], ); return (
); } AdminApplicationSettings.propTypes = { appKey: PropTypes.string.isRequired, }; export default AdminApplicationSettings;