From 4ce1b39a836eddb714daad3e79234014c9d0547c Mon Sep 17 00:00:00 2001 From: hamed <15238-genius.ha@users.noreply.drupalcode.org> Date: Sat, 18 Jul 2026 21:54:08 +0330 Subject: [PATCH] feat(dashboard): enhance appointment table and link to specific dates --- .../dashboard/NewAppointmentsTable.tsx | 34 ++++++++---- .../components/dashboard/TauriCharts.test.tsx | 18 ++++++ .../components/dashboard/TauriCharts.tsx | 15 +++-- assets/admin/pages/DashboardPage.test.tsx | 32 +++++++++++ assets/admin/pages/DashboardPage.tsx | 55 ------------------- 5 files changed, 81 insertions(+), 73 deletions(-) diff --git a/assets/admin/components/dashboard/NewAppointmentsTable.tsx b/assets/admin/components/dashboard/NewAppointmentsTable.tsx index 4451e170..30284185 100644 --- a/assets/admin/components/dashboard/NewAppointmentsTable.tsx +++ b/assets/admin/components/dashboard/NewAppointmentsTable.tsx @@ -20,6 +20,16 @@ export interface ApptRow { status: string; } +/** + * روزِ محلیِ نوبت (YYYY-MM-DD) برای دیپلینک «مشاهده» به همان تاریخ در لیست نوبتها. + * همان قراردادی که AppointmentDetailPage/AppointmentsPage استفاده میکنند. + */ +const isoDay = (ts?: number | null): string => { + if (!ts) return ''; + const d = new Date(ts * 1000); + return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`; +}; + function formatTime(ts?: number | null): string { if (!ts) return '—'; return new Intl.DateTimeFormat('fa-IR', { timeZone: 'Asia/Tehran', hour: '2-digit', minute: '2-digit' }).format(new Date(ts * 1000)); @@ -46,7 +56,7 @@ export function NewAppointmentsTable({ rows, loading }: { rows: ApptRow[]; loadi {HEAD.map((h, i) => (
هنوز پزشکی دعوت نشده
- -