import { type FC, useEffect, useState } from 'react' import { useGetSiteSetting, useUpdateSiteSetting } from './hooks/useSettingData' import { SiteSettingPageEnum } from './enum/Enum' import { useFormik } from 'formik' import type { UpdateSiteSetting } from './types/Types' import { toast } from 'react-toastify' import { Pages } from '@/config/Pages' import * as Yup from 'yup' import { useNavigate } from 'react-router-dom' import Button from '@/components/Button' import TextEditor from '@/components/TextEditor' import PageLoading from '@/components/PageLoading' import Error from '@/components/Error' import { TickCircle } from 'iconsax-react' const PrivacyPage: FC = () => { const navigate = useNavigate() const { data: siteSetting, isLoading: siteSettingLoading, error: siteSettingError } = useGetSiteSetting(SiteSettingPageEnum.policyContent) const updateSiteSettingMutation = useUpdateSiteSetting() const [formData, setFormData] = useState({ policyContent: '' }) const formik = useFormik({ initialValues: formData, validationSchema: Yup.object({ policyContent: Yup.string().required('حریم خصوصی الزامی است'), }), onSubmit: (values) => { updateSiteSettingMutation.mutate(values, { onSuccess: () => { toast.success('حریم خصوصی با موفقیت ویرایش شد') navigate(Pages.pages.privacy) } }) }, enableReinitialize: true }) useEffect(() => { if (siteSetting?.results?.siteSetting?.policyContent) { const newData = { policyContent: siteSetting.results.siteSetting.policyContent } setFormData(newData) } }, [siteSetting]) if (siteSettingLoading) { return (
) } if (siteSettingError) { return (
) } return (

ویرایش حریم خصوصی

متن حریم خصوصی
formik.setFieldValue('policyContent', value)} placeholder='متن حریم خصوصی را وارد کنید...' /> {formik.touched.policyContent && formik.errors.policyContent && (
{formik.errors.policyContent}
)}
) } export default PrivacyPage