import { useEffect } from 'react'
import { Helmet } from 'react-helmet-async'
import { Field, Form, Formik } from 'formik'
import { Navigate } from 'react-router-dom'
import { trpc } from '~/utils/trpc'
import IVInputField from '~/components/IVInputField'
import IVButton from '~/components/IVButton'
import { logout } from '~/utils/auth'
import useHasSession from '~/utils/useHasSession'
import AuthPageHeader from '~/components/AuthPageHeader'
import MFAInput from '~/components/MFAInput'
export default function ValidateMfaPage() {
const session = trpc.useQuery(['auth.session.user'])
const { hasSession, isLoading: isSessionLoading, needsMfa } = useHasSession()
const challenge = trpc.useMutation(['auth.mfa.challenge'])
const verify = trpc.useMutation(['auth.mfa.verify'], {
onSuccess() {
window.location.assign('/dashboard')
},
})
const { mutate: challengeMfa } = challenge
useEffect(() => {
if (!hasSession && needsMfa && !isSessionLoading) {
challengeMfa()
}
}, [challengeMfa, hasSession, needsMfa, isSessionLoading])
if (hasSession) {
return