import { FC, useState } from 'react' import SwitchComponent from '../../../components/Switch' import { useFormik } from 'formik' import { CreateIndustryType } from '../types/CompanyTypes' import * as yup from 'yup' import Input from '../../../components/Input' import UploadBoxDraggble from '../../../components/UploadBoxDraggble' import Button from '../../../components/Button' import { TickCircle } from 'iconsax-react' import { toast } from 'react-toastify' import { useSingleUpload } from '../../service/hooks/useServiceData' import { useCreateIndustry } from '../hooks/useCompanyData' import { ErrorType } from '../../../helpers/types' type Props = { refetch: () => void } const CreateIndustry: FC = ({ refetch }) => { const [file, setFile] = useState() const singleUpload = useSingleUpload() const createIndustry = useCreateIndustry() const formik = useFormik({ initialValues: { title: '', iconUrl: '', isActive: true, }, validationSchema: yup.object({ title: yup.string().required('عنوان صنعت الزامی است'), }), onSubmit: (values) => { if (!file) { toast.error('لطفا آیکن صنعت را انتخاب کنید') return } const formData = new FormData() formData.append('file', file) singleUpload.mutate(formData, { onSuccess: (data) => { values.iconUrl = data?.data?.url createIndustry.mutate(values, { onSuccess: () => { toast.success('صنعت با موفقیت ثبت شد') refetch() }, onError: (error: ErrorType) => { toast.error(error?.response?.data?.error.message[0]) } }) } }) }, }) return (
وضعیت صنعت
{ formik.setFieldValue('isActive', value) }} />
{ setFile(files[0]) }} />
) } export default CreateIndustry