diff --git a/assets/admin/App.tsx b/assets/admin/App.tsx index aa4e7cb3..ee56e539 100644 --- a/assets/admin/App.tsx +++ b/assets/admin/App.tsx @@ -197,6 +197,7 @@ export default function App() { } /> } /> } /> + } /> } /> } /> } /> diff --git a/assets/admin/pages/PatientDetailPage.test.tsx b/assets/admin/pages/PatientDetailPage.test.tsx index 978bd91b..51f833c1 100644 --- a/assets/admin/pages/PatientDetailPage.test.tsx +++ b/assets/admin/pages/PatientDetailPage.test.tsx @@ -76,6 +76,13 @@ describe('PatientDetailPage (پرونده تب‌دار)', () => { expect(await screen.findByPlaceholderText('مثلاً: معاینه اولیه')).toBeInTheDocument(); }); + it('links "سرویس جدید" on the services tab to the new-session route', async () => { + renderDetail(); + await screen.findByText('ساغر صابری'); // services is the default tab + const link = await screen.findByRole('link', { name: /سرویس جدید/ }); + expect(link).toHaveAttribute('href', '/admin/patients/r1/session/new'); + }); + it('renders the messages tab with a send box', async () => { renderDetail(); await screen.findByText('ساغر صابری'); diff --git a/assets/admin/pages/PatientDetailPage.tsx b/assets/admin/pages/PatientDetailPage.tsx index 46bb3e85..a50ffe25 100644 --- a/assets/admin/pages/PatientDetailPage.tsx +++ b/assets/admin/pages/PatientDetailPage.tsx @@ -122,8 +122,13 @@ export default function PatientDetailPage() { ) : tab === 'services' ? ( - ({ title: s.section_name || s.name || 'سرویس', meta: s.created_at ? formatDate(s.created_at) : '', badge: s.status })} /> +
+
+ سرویس جدید +
+ ({ title: s.section_name || s.name || 'سرویس', meta: s.created_at ? formatDate(s.created_at) : '', badge: s.status })} /> +
) : tab === 'appointments' ? ( ({ title: a.service_name || a.doctor_name || 'نوبت', meta: a.date ? formatDate(a.date) : (a.starts_at ? formatDate(a.starts_at) : ''), badge: a.status_label || a.status })} />