diff --git a/assets/admin/App.tsx b/assets/admin/App.tsx index 584b86aa..74daca40 100644 --- a/assets/admin/App.tsx +++ b/assets/admin/App.tsx @@ -39,6 +39,8 @@ import FinancialReportPage from './pages/FinancialReportPage'; import RepresentationSettlementPage from './pages/RepresentationSettlementPage'; import RepresentationFinancePage from './pages/RepresentationFinancePage'; import RepresentationProfilePage from './pages/RepresentationProfilePage'; +import RepresentationBlogsPage from './pages/RepresentationBlogsPage'; +import RepresentationBlogFormPage from './pages/RepresentationBlogFormPage'; import DoctorProfilePage from './pages/DoctorProfilePage'; import MyPatientsPage from './pages/MyPatientsPage'; import MyPaymentsPage from './pages/MyPaymentsPage'; @@ -223,6 +225,9 @@ export default function App() { } /> } /> } /> + } /> + } /> + } /> } /> } /> } /> diff --git a/assets/admin/components/BlogSeoFields.tsx b/assets/admin/components/BlogSeoFields.tsx new file mode 100644 index 00000000..a750a2f7 --- /dev/null +++ b/assets/admin/components/BlogSeoFields.tsx @@ -0,0 +1,115 @@ +import { Controller, useFieldArray } from 'react-hook-form'; +import type { Control, UseFormRegister } from 'react-hook-form'; +import type { BlogFormData } from '../lib/blogForm'; +import PersianDatePicker from './ui/PersianDatePicker'; + +interface Props { + control: Control; + register: UseFormRegister; +} + +/** SEO + FAQ + scheduling fields, shared by admin and representative blog forms. */ +export default function BlogSeoFields({ control, register }: Props) { + const { fields, append, remove } = useFieldArray({ control, name: 'faq' }); + + return ( +
+

سئو و زمان‌بندی

+ +
+ + +
+ +
+ +