import { useEffect, useState, type FC } from 'react' import Button from '@/components/Button' import { Edit, TickCircle } from 'iconsax-react' import DefaulModal from '@/components/DefaulModal' import { useFormik } from 'formik' import type { CreateFieldValueType } from '../types/Types' import * as Yup from 'yup' import Input from '@/components/Input' import { useGetFieldValueDetail, useUpdateFieldValue } from '../hooks/useFormBuilderData' import { extractErrorMessage } from '@/config/func' import { toast } from 'react-toastify' type Props = { id: string, refetch: () => void, } const UpdateValue: FC = ({ id, refetch }) => { const [showModal, setShowModal] = useState(false) const { mutate: updateValue } = useUpdateFieldValue() const { data, refetch: refetchDeetail } = useGetFieldValueDetail(id, showModal) const formik = useFormik({ initialValues: { value: '', order: 1 }, validationSchema: Yup.object({ value: Yup.string().required('این فیلد اجباری است') }), onSubmit: (values) => { updateValue({ id: id, params: values }, { onSuccess: () => { refetch() refetchDeetail() setShowModal(false) }, onError: (error) => { toast.error(extractErrorMessage(error)) } }) } }) useEffect(() => { if (data) { formik.setValues({ value: data?.data.value, order: data?.data.order }) } // eslint-disable-next-line react-hooks/exhaustive-deps }, [data]) return (
setShowModal(true)} size={20} color='#0037FF' /> setShowModal(false)} isHeader title_header='ویرایش مقدار' >
) } export default UpdateValue