import * as React from 'react'; import { Link as RouterLink } from 'react-router-dom'; import Paper from '@mui/material/Paper'; import Typography from '@mui/material/Typography'; import { Alert } from '@mui/material'; import LoadingButton from '@mui/lab/LoadingButton'; import * as yup from 'yup'; import { yupResolver } from '@hookform/resolvers/yup'; import { enqueueSnackbar } from 'notistack'; import { useQueryClient } from '@tanstack/react-query'; import Link from '@mui/material/Link'; import useFormatMessage from 'hooks/useFormatMessage'; import useInstallation from 'hooks/useInstallation'; import * as URLS from 'config/urls'; import Form from 'components/Form'; import TextField from 'components/TextField'; const validationSchema = yup.object().shape({ fullName: yup.string().trim().required('installationForm.mandatoryInput'), email: yup .string() .trim() .email('installationForm.validateEmail') .required('installationForm.mandatoryInput'), password: yup.string().required('installationForm.mandatoryInput'), confirmPassword: yup .string() .required('installationForm.mandatoryInput') .oneOf([yup.ref('password')], 'installationForm.passwordsMustMatch'), }); const initialValues = { fullName: '', email: '', password: '', confirmPassword: '', }; function InstallationForm() { const formatMessage = useFormatMessage(); const install = useInstallation(); const queryClient = useQueryClient(); const handleOnRedirect = () => { queryClient.invalidateQueries({ queryKey: ['automatisch', 'info'], }); }; const handleSubmit = async (values) => { const { fullName, email, password } = values; try { await install.mutateAsync({ fullName, email, password, }); } catch (error) { enqueueSnackbar( error?.message || formatMessage('installationForm.error'), { variant: 'error', }, ); } }; return ( theme.palette.text.disabled, pb: 2, mb: 2, }} gutterBottom > {formatMessage('installationForm.title')}
( <> {formatMessage('installationForm.submit')} )} /> {install.isSuccess && ( {formatMessage('installationForm.success', { link: (str) => ( {str} ), })} )} ); } export default InstallationForm;