"use client"; import { zodResolver } from "@hookform/resolvers/zod"; import { useForm } from "react-hook-form"; import { signInSchema } from "@/schema/authSchema"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Checkbox } from "@/components/ui/checkbox"; import { Button } from "@/components/ui/button"; import ForgotPasswordModal from "./forgot-password-modal"; import Link from "next/link"; import Image from "next/image"; import { GoogleSigninButton } from "./google-oauth"; import { z } from "zod"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { loginUser } from "@/api/authentication"; export default function SigninPage() { const [serverError, setServerError] = useState(null); const [isLoading, setIsLoading] = useState(false); const router = useRouter(); const { register, handleSubmit, formState: { errors }, } = useForm({ resolver: zodResolver(signInSchema), defaultValues: { email: "", password: "", }, }); const onSubmit = async (values: z.infer) => { setServerError(null); setIsLoading(true); try { const data = await loginUser(values.email, values.password); localStorage.setItem("token", data.Token); localStorage.setItem("user", values.email); router.push("/setup"); } catch (error: any) { console.error("Error logging in:", error); setServerError(error.message); } finally { setIsLoading(false); } }; return (
Forfarm

Welcome back.

New to Forfarm? Sign up
{/* Sign in form */}
{errors.email &&

{errors.email.message}

}
{errors.password &&

{errors.password.message}

}

Or log in with

); }