"use client"; import { setCookie } from "cookies-next"; import useApiMutation from "./use-api"; export interface LoginArgs { email: string; password: string; } export default function useLogin() { const { trigger, isMutating: loading, isSuccess, } = useApiMutation("/users/login", undefined, "POST"); const login = async (inputs: LoginArgs) => { try { const res = await trigger(inputs); if (!res) throw new Error("The server hasn't responded."); if (res.status === "Error") throw new Error(res.message); if (res.data) setCookie("auth_token", res.data); return res; } catch (error: any) { throw new Error(error.message); } }; return { login, loading, isSuccess }; }