feat: implement filtered and paginated doctor appointments panel with status filtering

This commit is contained in:
hamed
2026-07-19 11:50:16 +03:30
parent 8420a1a6c2
commit 4e78a76824
7 changed files with 324 additions and 4 deletions
+3 -1
View File
@@ -18,6 +18,7 @@ const jalaali = require('jalaali-js') as {
toJalaali: (date: Date) => { jy: number; jm: number; jd: number };
};
import { NewAppointmentsTable } from '../components/dashboard/NewAppointmentsTable';
import DoctorAppointmentsPanel from '../components/dashboard/DoctorAppointmentsPanel';
import { usePermissions } from '../hooks/usePermissions';
// ── Chart period (Jalali) ─────────────────────────────────────────────────
@@ -827,6 +828,7 @@ function DoctorDashboard() {
patientBars={(d?.charts?.appointments_by_day ?? []).map(x => ({ label: x.label, value: x.count }))}
incomeLine={(d?.charts?.revenue_by_month ?? []).map(x => ({ label: x.label, value: x.amount_rials }))}
appointments={d?.today_appointments ?? []}
appointmentsSlot={<DoctorAppointmentsPanel doctorUuid={d?.doctor?.uuid} />}
loading={q.isFetching}
formatNumber={formatNumber}
formatRial={formatRial}
@@ -1152,7 +1154,7 @@ function InvitedDoctorDashboard() {
<h3 style={{ fontSize: 16 }}>لیست نوبتهای جدید</h3>
<Link to="/admin/appointments" className="muted" style={{ fontSize: 13 }}>نوبتها</Link>
</div>
<NewAppointmentsTable rows={d?.today_appointments ?? []} loading={q.isFetching} />
<DoctorAppointmentsPanel doctorUuid={d?.doctor?.uuid} clinicUuid={dbUuid} />
</div>
)}
</div>