import { FC, Fragment, useState } from 'react' import { useTranslation } from 'react-i18next' import Input from '../../components/Input' import Button from '../../components/Button' import SwitchComponent from '../../components/Switch' import { TickCircle } from 'iconsax-react' import DatePickerComponent from '../../components/DatePicker' import RadioGroup from '../../components/RadioGroup' import { useFormik } from 'formik' import { CreateDiscountType } from './types/DiscountTypes' import * as Yup from 'yup' import { useGetAllServices } from '../service/hooks/useServiceData' import { ServiceItemType } from '../service/types/ServiceTypes' import CheckBoxComponent from '../../components/CheckBoxComponent' import { toast } from 'react-toastify' import { useCreateDiscount } from './hooks/useDiscountData' import { useNavigate } from 'react-router-dom' import { Pages } from '../../config/Pages' import { ErrorType } from '../../helpers/types' import moment from 'moment-jalaali' const CreateDiscount: FC = () => { const navigate = useNavigate() const { t } = useTranslation('global') const [serviceId, setServiceId] = useState([]) // const [planId, setPlanId] = useState('') // const [customerId, setCustomerId] = useState('') const getServices = useGetAllServices('', 1, '', '', undefined, 50) // const getPlans = useGetPlans(serviceId) // const getCustomers = useGetCustomers() const createDiscount = useCreateDiscount() const formik = useFormik({ initialValues: { endDate: '', startDate: '', title: '', type: 1, targetServices: [], direct: true, value: 0, isActive: true, userPhone: '' }, validationSchema: Yup.object({ value: Yup.number().required(t('errors.required')), endDate: Yup.string().required(t('errors.required')), startDate: Yup.string().required(t('errors.required')), title: Yup.string().required(t('errors.required')), type: Yup.string().required(t('errors.required')), }), onSubmit(values) { values.targetServices = serviceId values.type = +values.type if (values.userPhone === '') { values.userPhone = undefined } const params: CreateDiscountType = { ...values, startDate: moment(values.startDate, 'jYYYY-jMM-jDD').format('YYYY-MM-DD'), endDate: moment(values.endDate, 'jYYYY-jMM-jDD').format('YYYY-MM-DD'), value: +values.value } createDiscount.mutate(params, { onSuccess: () => { toast.success(t('success')) navigate(Pages.discount.list) }, onError: (error: ErrorType) => { toast.error(error.response?.data?.error?.message[0]) } }) }, }) return (
{t('discount.new_discount')}
{t('discount.type')}
formik.setFieldValue('direct', value)} selected={formik.values.direct} />
{/*
*/}
{t('discount.price')}
formik.setFieldValue('type', value)} selected={formik.values.type.toString()} />
formik.setFieldValue('startDate', value)} placeholder='' error_text={formik.touched.startDate && formik.errors.startDate ? formik.errors.startDate : ''} /> formik.setFieldValue('endDate', value)} placeholder='' error_text={formik.touched.endDate && formik.errors.endDate ? formik.errors.endDate : ''} />
{ !formik.values.direct &&
}

{'وضعیت تخفیف'}

formik.setFieldValue('isActive', value)} />
{ formik.values.direct &&

{t('discount.availabe_service')}

{ getServices.data?.data?.services?.map((item: ServiceItemType) => (
setServiceId(e.target.checked ? [...serviceId, item.id] : serviceId.filter(id => id !== item.id))} />
{item.name}
)) }
} {/* { getPlans.data &&
{ getPlans.data?.data?.subscriptions?.map((item: PlanItemType) => (
setPlanId(e.target.checked ? item.id : '')} />
{item.name}
)) }
} { planId && getCustomers.data &&
{ getCustomers.data?.data?.customers?.map((item: CustomerItemType) => (
setCustomerId(e.target.checked ? item.id : '')} />
{item.firstName + ' ' + item.lastName}
)) }
} */}
) } export default CreateDiscount