'use client'; import Link from 'next/link'; import { useRouter } from 'next/navigation'; import { useActionState, useEffect, useState } from 'react'; import { toast } from 'sonner'; import { AuthForm } from '@/components/auth-form'; import { SubmitButton } from '@/components/submit-button'; import { login, type LoginActionState } from '../actions'; export default function Page() { const router = useRouter(); const [email, setEmail] = useState(''); const [isSuccessful, setIsSuccessful] = useState(false); const [state, formAction] = useActionState( login, { status: 'idle', }, ); useEffect(() => { if (state.status === 'failed') { toast.error('Invalid credentials!'); } else if (state.status === 'invalid_data') { toast.error('Failed validating your submission!'); } else if (state.status === 'success') { setIsSuccessful(true); router.refresh(); } }, [state.status, router]); const handleSubmit = (formData: FormData) => { setEmail(formData.get('email') as string); formAction(formData); }; return (

Sign In

Use your email and password to sign in

Sign in

{"Don't have an account? "} Sign up {' for free.'}

); }