import { UPDATE_LOAN_MANAGEMENT_NAVGAN } from "@/core/data/apiRoutes";
import useNotification from "@/lib/app/hooks/useNotification";
import useRequest from "@/lib/app/hooks/useRequest";
import useLoanStateNavgan from "@/lib/prefetchDataTable/hooks/useLoanStateNavgan";
import {
Button,
DialogActions,
DialogContent,
FormControl,
FormHelperText,
InputLabel,
MenuItem,
Select,
Stack,
TextField,
} from "@mui/material";
import { useFormik } from "formik";
import { useTranslations } from "next-intl";
import * as Yup from "yup";
const UpdateContent = ({ rowId, mutate, setOpenConfirmDialog }) => {
const t = useTranslations();
const { loan_state_navgan } = useLoanStateNavgan();
const requestServer = useRequest({ auth: true });
const { update_notification } = useNotification();
const validationSchema = Yup.object().shape({
description: Yup.string().required(t("UpdateDialog.description_error")),
next_state_id: Yup.number().required(t("UpdateDialog.next-state-id-error")),
});
const formik = useFormik({
initialValues: {
description: "",
next_state_id: "",
},
validationSchema,
onSubmit: (values, { setSubmitting }) => {
const formData = new FormData();
formData.append("expert_description", values.description);
formData.append("next_state_id", values.next_state_id);
requestServer(`${UPDATE_LOAN_MANAGEMENT_NAVGAN}/${rowId}`, "post", {
data: formData,
})
.then((response) => {
setOpenConfirmDialog(false);
mutate();
update_notification();
})
.catch(() => {})
.finally(() => {
setSubmitting(false);
});
},
});
const handleDescriptionChange = (event) => {
formik.setFieldValue("description", event.target.value);
};
const handleNextStateIDChange = (event) => {
formik.setFieldValue("next_state_id", event.target.value);
};
return (
<>
{t("UpdateDialog.next-state-id")}
{formik.touched.next_state_id && formik.errors.next_state_id}
>
);
};
export default UpdateContent;