feat: enhance Tauri charts with deduped gridline labels and add tests for bar and line charts

This commit is contained in:
hamed
2026-07-14 14:08:17 +03:30
parent d9f96b68cd
commit 24969173bb
4 changed files with 62 additions and 11 deletions
@@ -40,7 +40,7 @@ function ChartTitle({ text }: { text: string }) {
function ChartCard({ title, selectorOptions, children }: { title: string; selectorOptions: string[]; children: React.ReactNode }) {
return (
<div className="w-full lg:w-1/2 rounded-[8px] border border-solid border-[#EFEFEF] dark:border-transparent bg-[#FFF] dark:bg-[#222433]">
<div className="w-full rounded-[8px] border border-solid border-[#EFEFEF] dark:border-transparent bg-[#FFF] dark:bg-[#222433]">
<div className="flex px-[20px] py-[12px] md:py-[14px] lg:py-[16px] items-center justify-between gap-[12px]">
<ChartTitle text={title} />
<SmSelector options={selectorOptions} />
@@ -75,12 +75,13 @@ export function TauriDashboardView({
formatRial,
}: TauriDashboardViewProps) {
return (
<div className="flex flex-col gap-y-[24px]">
<div className="flex flex-col items-stretch gap-y-[24px] w-full">
{/* Cards */}
<TauriStatCards stats={stats} formatNumber={formatNumber} formatRial={formatRial} />
{/* Charts */}
<div className="flex flex-col lg:flex-row items-stretch justify-center gap-[16px]">
{/* Charts — grid-2 (1fr 1fr, collapses to 1fr on narrow) for reliable
full-width equal columns, matching the rest of the admin dashboard */}
<div className="grid-2">
<ChartCard title="نمودار تعداد بیماران" selectorOptions={MONTHS}>
<TauriBarChart data={patientBars} />
</ChartCard>
@@ -90,7 +91,7 @@ export function TauriDashboardView({
</div>
{/* New appointments list */}
<div className="rounded-[8px] border border-solid border-transparent md:border-[#EFEFEF] dark:border-transparent bg-transparent md:bg-[#FFF] md:dark:bg-[#222433]">
<div className="w-full rounded-[8px] border border-solid border-transparent md:border-[#EFEFEF] dark:border-transparent bg-transparent md:bg-[#FFF] md:dark:bg-[#222433]">
<div className="md:pt-[18px] md:px-[24px] md:pb-[20px] flex items-center justify-between">
<p className="text-[#525252] dark:text-[#D7D8ED] text-[14px] md:text-[16px] font-bold">لیست نوبتهای جدید</p>
<Link