All Docs
FeaturesDepositClearUpdated March 14, 2026

Blog: Stop Re-expanding Your Dashboard Every Morning

Stop Re-expanding Your Dashboard Every Morning

Release v0.1.302 · UI/UX Improvement


If you use the sparkline trend charts in the KPI Summary Strip on your dashboard, you may have noticed something mildly annoying: every time you refreshed the page, the charts panel snapped back to collapsed — and you'd have to click "Show charts" all over again.

Starting with v0.1.302, that's fixed.

What Is the KPI Summary Strip?

The KPI Summary Strip sits at the top of the main dashboard. It gives you a quick read on Portfolio Health — occupancy rates, active disputes, deposit return times, and other key metrics. Below the headline numbers, a collapsible panel reveals sparkline charts: compact trend lines that show how each metric has moved over time.

The panel collapses by default so the work queue stays visible above the fold on first load. That's still the case. But now, your choice to expand or collapse it is remembered.

What Changed

Your preference is saved

When you expand or collapse the sparklines panel, the dashboard now writes your choice to localStorage under the key kpi_strip_expanded. The next time you open the dashboard — whether it's a fresh tab, a refresh, or a new session — the panel opens exactly how you left it.

First-time users still see the collapsed default. Returning users see whatever state they last chose. No configuration required.

Clearer toggle label

The button that opens and closes the panel has been relabelled from "Show charts" to "Show trend charts". It's a small change, but it makes it immediately obvious what you're about to reveal — trend data, not just static numbers.

Better screen reader support

The toggle button now carries a descriptive aria-label, so users navigating with assistive technology get a clear description of the button's purpose and the content it controls.

Technical Notes (for developers)

The implementation is intentionally lightweight:

  • The expanded state is initialised from localStorage inside a useEffect hook. This avoids an SSR hydration mismatch (the server always renders the collapsed default; the client corrects to the stored preference after mount).
  • Writes to localStorage happen synchronously on each toggle.
  • The localStorage key is kpi_strip_expanded (string 'true' / 'false').
  • No new dependencies were introduced.

Impact

This is a small change with a disproportionate quality-of-life improvement for anyone who monitors portfolio health trends daily. One click, once — and your dashboard remembers.


Released in v0.1.302. File changed: src/app/dashboard/kpi-summary-strip.tsx.