'use client'; import Button from '@/components/button/PrimaryButton'; import InputField from '@/components/input/InputField'; import { useFormik } from 'formik'; import { ArrowLeft } from 'iconsax-react'; import Image from 'next/image' import { useRouter } from 'next/navigation'; import React from 'react' import { useTranslation } from 'react-i18next' import { CreateReportType } from './types/Types'; import * as Yup from 'yup'; import { useCreateReport } from './hooks/useReportData'; import { toast } from '@/components/Toast'; import { extractErrorMessage } from '@/lib/func'; import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group'; import { ContactScope } from './enum/Enum'; type Props = object; function ReportIndex({ }: Props) { const router = useRouter(); const { mutate: createReport, isPending } = useCreateReport(); const { t } = useTranslation('parallels', { keyPrefix: 'Report' }) const formik = useFormik({ initialValues: { subject: '', content: '', scope: ContactScope.RESTAURANT, }, validationSchema: Yup.object({ subject: Yup.string().required('این فیلد اجباری است'), content: Yup.string().required('این فیلد اجباری است'), scope: Yup.string().oneOf([ContactScope.APPLICATION, ContactScope.RESTAURANT]).required('این فیلد اجباری است'), }), onSubmit: (values) => { createReport(values, { onSuccess: () => { toast('با موفقیت ثبت شد', 'success'); formik.resetForm() router.back() }, onError: (error) => { toast(extractErrorMessage(error), 'error'); }, }); }, }); return (

{t("Heading")}

{ router.back() }} />

{t('FormHeading')}

{t('Description')}

{t('InputDescription.Label')} {formik.touched.content && formik.errors.content && ( {formik.errors.content} )}

{t('InputScope.Label')}

{ formik.setFieldValue('scope', value as ContactScope); }} className='flex flex-col gap-3 mt-2' >
report hero image
) } export default ReportIndex