import { ChangeEventHandler, FormEventHandler, useState, VFC } from 'react'; import { Button, TextField } from '@mui/material'; import styles from './SimpleAuth.module.scss'; import { useNavigate } from 'react-router-dom'; import { useAuthApi } from 'hooks/api/actions/useAuthApi/useAuthApi'; import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser'; import { LOGIN_BUTTON, LOGIN_EMAIL_ID } from 'utils/testIds'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; import { IAuthEndpointDetailsResponse } from 'hooks/api/getters/useAuth/useAuthEndpoint'; interface ISimpleAuthProps { authDetails: IAuthEndpointDetailsResponse; redirect: string; } const SimpleAuth: VFC = ({ authDetails, redirect }) => { const [email, setEmail] = useState(''); const { refetchUser } = useAuthUser(); const { emailAuth } = useAuthApi(); const navigate = useNavigate(); const { setToastApiError } = useToast(); const handleSubmit: FormEventHandler = async evt => { evt.preventDefault(); try { await emailAuth(authDetails.path, email); refetchUser(); navigate(redirect, { replace: true }); } catch (error) { setToastApiError(formatUnknownError(error)); } }; const handleChange: ChangeEventHandler = e => { const value = e.target.value; setEmail(value); }; return (

{authDetails.message}

This instance of Unleash is not set up with a secure authentication provider. You can read more about{' '} securing Unleash on GitHub


); }; export default SimpleAuth;