/** * Ported clinic/doctor dashboard view — pixel-for-pixel from clinic-pro-tauri * `src/components/dashboard/index.jsx` (Cards → Charts → New-appointments list, * stacked with 24px gaps). Purely presentational; both ClinicDashboard and * DoctorDashboard feed it their (real-API) data. */ import React from 'react'; import { Link } from 'react-router-dom'; import { TauriStatCards, type DashboardStats } from './TauriStatCards'; import { TauriBarChart, TauriLineChart, type ChartPoint } from './TauriCharts'; import { NewAppointmentsTable, type ApptRow } from './NewAppointmentsTable'; /** small cosmetic dropdown — mirrors source SmSelector (does not drive data) */ function SmSelector({ options }: { options: string[] }) { return (
{text}
; } function ChartCard({ title, selectorOptions, children }: { title: string; selectorOptions: string[]; children: React.ReactNode }) { return (لیست نوبتهای جدید
نوبتها