import * as React from 'react'; import { useNavigate } from 'react-router-dom'; import { useMutation } from '@apollo/client'; import Paper from '@mui/material/Paper'; import Typography from '@mui/material/Typography'; import LoadingButton from '@mui/lab/LoadingButton'; import useAuthentication from 'hooks/useAuthentication'; import * as URLS from 'config/urls'; import { LOGIN } from 'graphql/mutations/login'; import Form from 'components/Form'; import TextField from 'components/TextField'; function renderFields(props: { loading: boolean }) { const { loading = false } = props; return () => { return ( <> Login ); } } function LoginForm() { const navigate = useNavigate(); 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); }; const render = React.useMemo(() => renderFields({ loading }), [loading]); return ( theme.palette.text.disabled, pb: 2, mb: 2 }} gutterBottom> Login
); }; export default LoginForm;