fix: dashboard cards no longer disappear on refresh — use prop trigger instead of key remount

This commit is contained in:
2026-03-25 00:00:55 +03:00
parent d08df61b2a
commit 540d3a9297

View File

@@ -594,7 +594,8 @@ function countByStatus(items: { status: string }[]): TabCounts {
}
function DashboardSummary({ onNavigate, onFilter }: {
function DashboardSummary({ refreshTrigger, onNavigate, onFilter }: {
refreshTrigger: number;
onNavigate: (tab: Tab) => void;
onFilter: (f: BookingFilter) => void;
}) {
@@ -636,7 +637,8 @@ function DashboardSummary({ onNavigate, onFilter }: {
remindersCancelled: upcoming.filter((r) => r.reminderStatus === "cancelled").length,
});
}).catch(() => {});
}, []);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [refreshTrigger]);
if (!counts) return null;
@@ -898,7 +900,7 @@ function BookingsPageInner() {
) : (
<>
{/* Dashboard — what needs attention */}
<DashboardSummary key={`dash-${dashboardKey}-${refreshKey}`} onNavigate={setTab} onFilter={setStatusFilter} />
<DashboardSummary refreshTrigger={dashboardKey + refreshKey} onNavigate={setTab} onFilter={setStatusFilter} />
{/* Tabs */}
<div className="mt-5 flex border-b border-white/10">