"use client"; import { useState } from "react"; import { signIn } from "next-auth/react"; import { zodResolver } from "@hookform/resolvers/zod"; import { useForm } from "react-hook-form"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import AdminForm from "@/components/admin/admin-form"; import { loginSchema, type LoginInput } from "@/lib/validations/auth"; export default function LoginForm() { const [serverError, setServerError] = useState(null); const form = useForm({ resolver: zodResolver(loginSchema), defaultValues: { email: "", password: "", }, }); const onSubmit = async (values: LoginInput) => { setServerError(null); const result = await signIn("credentials", { email: values.email, password: values.password, redirect: false, callbackUrl: "/admin", }); if (!result || result.error) { setServerError("The email or password is incorrect."); return; } window.location.assign(result.url ?? "/admin"); }; return ( Admin sign in Use your admin credentials to continue. ( Email )} /> ( Password )} /> {serverError ?

{serverError}

: null}
); }