'use client'
import { zodResolver } from '@hookform/resolvers/zod'
import { signIn, signOut, useSession } from 'next-auth/react'
...
import {
...
} from '@confy-ui/react/themes'
import { NavigationGuardHook } from '@/components/navigationGuardHook'
const formSchema = z.object({
...
})
export default function LoginPage() {
const [loginError, setLoginError] = useState('')
const { data: session } = useSession()
const form = useForm<z.infer<typeof formSchema>>({
...
})
function onSubmit(values: z.infer<typeof formSchema>) {
...
}
async function requestLogin(values: z.infer<typeof formSchema>) {
try {
const result = await signIn('credentials', {
email: values.email,
password: values.password,
redirect: false
})
if (result?.error) {
setLoginError('로그인에 실패했습니다.')
return
} else {
console.log('로그인 성공 session: ', session)
}
} catch (error) {
setLoginError('로그인 중 오류가 발생했습니다.')
console.error(error)
}
}
return (
<>
...
</>
)
}