school-dashboard-exercise/src/Pages/Auth/LoginForm.tsx
2024-06-24 15:27:42 +03:00

36 lines
1.0 KiB
TypeScript

import React from "react";
import { Formik } from "formik";
import useAuthState from "../../zustand/AuthState";
import useNavigateOnSuccess from "../../Hooks/useNavigateOnSuccess";
import { useLoginAdmin } from "../../api/auth";
import FormField from "./FormField";
import { initialValues } from "./formutils";
import { FormValues } from "../../types/Auth";
import { toast } from "react-toastify";
import { useTranslation } from "react-i18next";
const LoginForm = () => {
const { mutate, isLoading, isSuccess, data } = useLoginAdmin();
const [t] = useTranslation();
const handelSubmit = (values: FormValues) => {
mutate(values );
};
const { login } = useAuthState();
const LoginData = {
...data,
} as any;
useNavigateOnSuccess(isSuccess, "/", () => login(LoginData?.data as any));
return (
<div className="LoginForm">
<Formik initialValues={initialValues} onSubmit={handelSubmit}>
{(formikProps) => <FormField isLoading={isLoading} />}
</Formik>
</div>
);
};
export default LoginForm;