import * as React from 'react'; import { useNavigate, Link as RouterLink } from 'react-router-dom'; import { useMutation } from '@apollo/client'; import Paper from '@mui/material/Paper'; import Link from '@mui/material/Link'; import Typography from '@mui/material/Typography'; import LoadingButton from '@mui/lab/LoadingButton'; import useAuthentication from 'hooks/useAuthentication'; import useCloud from 'hooks/useCloud'; import * as URLS from 'config/urls'; import { LOGIN } from 'graphql/mutations/login'; import Form from 'components/Form'; import TextField from 'components/TextField'; import useFormatMessage from 'hooks/useFormatMessage'; function LoginForm() { const isCloud = useCloud(); const navigate = useNavigate(); const formatMessage = useFormatMessage(); const authentication = useAuthentication(); const [login, { loading }] = useMutation(LOGIN); React.useEffect(() => { if (authentication.isAuthenticated) { navigate(URLS.DASHBOARD); } }, [authentication.isAuthenticated]); const handleSubmit = async (values: any) => { const { data } = await login({ variables: { input: values, }, }); const { token } = data.login; authentication.updateToken(token); }; return ( theme.palette.text.disabled, pb: 2, mb: 2, }} gutterBottom > {formatMessage('loginForm.title')}
{isCloud && {formatMessage('loginForm.forgotPasswordText')} } {formatMessage('loginForm.submit')} {isCloud && {formatMessage('loginForm.noAccount')}   {formatMessage('loginForm.signUp')} }
); } export default LoginForm;