import React from 'react'; import { toast, ToastContainer } from 'react-toastify'; import Head from 'next/head'; import CardBox from '../components/CardBox'; import SectionFullScreen from '../components/SectionFullScreen'; import { useRouter } from 'next/router'; import { getPageTitle } from '../config'; import { Field, Form, Formik } from 'formik'; import FormField from '../components/FormField'; import BaseButtons from '../components/BaseButtons'; import BaseButton from '../components/BaseButton'; import { passwordReset } from '../stores/authSlice'; import { useAppDispatch } from '../stores/hooks'; export default function PasswordSetOrReset() { const [loading, setLoading] = React.useState(false); const [isInvitation, setIsInvitation] = React.useState(false); const router = useRouter(); const { token, invitation } = router.query; const notify = (type, msg) => toast(msg, { type }); const dispatch = useAppDispatch(); React.useEffect(() => { if (invitation) { setIsInvitation(true); } }, [invitation]); const handleSubmit = async (value) => { setLoading(true); if (typeof token === 'string') { await dispatch( passwordReset({ token, password: value.password, type: isInvitation && 'invitation', }), ); await router.push('/login'); } setLoading(false); }; return ( <>
{isInvitation &&Set Password
} {!isInvitation &&Reset Password
}Enter your new password