import { FC } from 'react' import { useNavigate, useParams } from 'react-router-dom' import { useBuyService, useGetDetailService } from './hooks/useServiceData' import HeaderBuy from './components/HeaderBuy' import PageLoading from '../../components/PageLoading' import Button from '../../components/Button' import { TickCircle } from 'iconsax-react' import Textarea from '../../components/Textarea' import Input from '../../components/Input' import { useTranslation } from 'react-i18next' import { useFormik } from 'formik' import * as Yup from 'yup' import { BuyServiceType } from './types/ServiecTypes' import { toast } from '../../components/Toast' import { ErrorType } from '../../helpers/types' import { Pages } from '../../config/Pages' const BuyService: FC = () => { const { t } = useTranslation('global') const navigate = useNavigate() const { serviceId, planId } = useParams() const getDetailService = useGetDetailService(serviceId ? serviceId : '') const buyService = useBuyService() const formik = useFormik({ initialValues: { businessName: '', businessPhone: '', description: '', planId: planId ? planId : '', serviceId: serviceId ? serviceId : '' }, validationSchema: Yup.object({ businessName: Yup.string().required(t('errors.required')), businessPhone: Yup.string().required(t('errors.required')), description: Yup.string().required(t('errors.required')), planId: Yup.string().required(t('errors.required')) }), onSubmit: (values) => { buyService.mutate(values, { onSuccess: (data) => { toast(t('success'), 'success') navigate(Pages.receipts.detail + data?.data?.invoice?.id) }, onError: (error: ErrorType) => { toast(error.response?.data?.error?.message[0], 'error') } }) } }) return (
{ getDetailService.isPending ? :
{t('service.info_business')}
{t('service.enter_info_business')}