Files
ocs-portal-web/lib/login/view-model/index.ts
2025-04-15 13:56:54 +07:00

28 lines
772 B
TypeScript

import { useMutation } from "@tanstack/react-query"
import { loginRepository } from "../data/repository";
import { useRouter } from "next/navigation";
import { toast } from "sonner";
import loginStore from "../store";
export const useLogin = () => {
const router = useRouter()
const mutation = useMutation({
mutationFn: () => loginRepository.login(loginStore.username, loginStore.password),
onSuccess: () => {
router.push("/")
toast.success('Welcome to dashboard')
},
onError: ((error)=> {
toast.error(error.message)
})
})
return {
login: mutation.mutate,
isLoading: mutation.isPending,
isError: mutation.isError,
error: mutation.error,
}
}