('')
const [isVerified, setIsVerified] = useState(false)
const { mutate: verifyEmailMutation, isPending: isVerifyingEmail } =
useMutation({
mutationFn: () =>
httpBrowserClient.post('/auth/verify-email', {
userId,
verificationCode,
}),
onSuccess: () => {
setIsVerified(true)
setSuccessMessage('Your email has been successfully verified')
},
onError: (error: any) => {
setError(error.message || 'Failed to verify email')
},
})
useEffect(() => {
verifyEmailMutation()
}, [verifyEmailMutation])
const renderContent = () => {
if (isVerifyingEmail)
return (
)
if (isVerified)
return (
Success
{successMessage}
)
if (error) return
return null
}
return (
Email Verification
Verifying your email address...
{renderContent()}
{isVerified && (
)}
)
}
export default function VerifyEmailPage() {
const searchParams = useSearchParams()
const userId = searchParams.get('userId')
const verificationCode = searchParams.get('verificationCode')
return (
{userId && verificationCode ? (
) : (
)}
)
}