import { zodResolver } from "@hookform/resolvers/zod";
import { useForm } from "react-hook-form";
import { signIn } from "next-auth/react";
type FormData = z.infer<typeof formSchema>;
export function Page() {
// 1. Define your form.
const form = useForm({
resolver: zodResolver(formSchema),
defaultValue: {
email: "",
password: "",
},
});
// 2. Define a submit handler.
const onSubmit = async (data: FormData) => {
const { email, password } = data;
const redirect_uri = (searchParmas.get("redirect_uri") as string) || undefined;
const response: any = await singIn("credentials", {
email,
password,
redirect: false,
callbackUrl: redirect_uri,
});
if (!response.ok) {
if (response.status === 401) {
if (response.error === "USER_NOT_FOUND") {
setOpenConfirmRegister(true); // AlertDialog 컴포넌트를 열고 닫기 위한 setState
return;
} else if (response.error === "PASSWORD_INCORRECT") {
alert("비밀번호가 일치하지 않습니다.");
return;
}
}
alert("로그인에 실패했습니다. 다시 시도해주세요.");
return;
}
};
}