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;