diff --git a/app/login/form.js b/app/login/form.js new file mode 100644 index 0000000..02e10a4 --- /dev/null +++ b/app/login/form.js @@ -0,0 +1,44 @@ +'use client' + +import {signIn} from 'next-auth/react' +import {useRouter} from 'next/navigation' +import {useState} from 'react' +import AuthForm from '@/components/auth-form/index.js' +import AuthAlert from '@/components/auth-form/auth-alert.js' + +export default function LoginForm() { + const router = useRouter() + const [error, setError] = useState('') + const [isOpen, setIsOpen] = useState(false) + + const handleFormSubmit = async data => { + const response = await signIn('credentials', { + email: data.email, + password: data.password, + redirect: false + }) + + if (response?.error) { + setError(response.error) + setIsOpen(true) + } else { + router.push('/') + router.refresh() + } + } + + return ( + <> + {error && } + + + ) +} diff --git a/app/login/page.js b/app/login/page.js new file mode 100644 index 0000000..5dec609 --- /dev/null +++ b/app/login/page.js @@ -0,0 +1,13 @@ +import {getServerSession} from 'next-auth' +import {redirect} from 'next/navigation' +import LoginForm from './form.js' + +export default async function LoginPage() { + const session = await getServerSession() + + if (session) { + redirect('/') + } + + return +}