Skip to content

feat: dashboard UX enhancements (filter presets, entity summary banner, tour, live update pills)#570

Open
shaaibu7 wants to merge 4 commits into
StellaBridge:mainfrom
shaaibu7:feature/frontend-dashboard-ux-enhancements
Open

feat: dashboard UX enhancements (filter presets, entity summary banner, tour, live update pills)#570
shaaibu7 wants to merge 4 commits into
StellaBridge:mainfrom
shaaibu7:feature/frontend-dashboard-ux-enhancements

Conversation

@shaaibu7
Copy link
Copy Markdown

@shaaibu7 shaaibu7 commented Jun 1, 2026

Summary

This PR bundles four frontend dashboard UX enhancements, each on its own commit:

1. Filters presets menu (feat: add filters presets menu)

  • Dedicated presets dropdown in the dashboard toolbar: save, load, rename, and delete filter combinations.
  • Shared access options: mark a preset private/shared and copy a shareable link that re-applies the filters via URL params.
  • Persistent storage in local storage with backward-compatible normalization of older preset records.

2. Entity summary banner (feat: build entity summary banner)

  • Generic, context-sensitive EntitySummaryBanner surfacing the most important summary fields for a selected entity.
  • Compact and expanded layout modes, loading skeletons, per-field status dots / trend chips, and drilldown links.
  • Integrated into the asset detail page (health, price, liquidity, trend) with tab drilldowns.

3. Dashboard tour overlay (feat: create dashboard tour overlay)

  • Lightweight step-by-step onboarding tour with a spotlight and tooltip per region.
  • Skip and resume, responsive positioning, accessible keyboard navigation (←/→/Esc) and focus management.
  • Persists completion (auto-starts once) plus a Take a tour / Replay tour trigger.

4. Live update pills (feat: implement live update pills)

  • Compact pills showing last updated time, a stale indicator, and a live polling state (pulsing dot).
  • Accessible via role=status / aria-live / aria-label; reused on the dashboard header and asset detail banner.

Documentation

  • frontend/docs/filter-presets.md
  • frontend/docs/entity-summary-banner.md
  • frontend/docs/dashboard-tour.md
  • frontend/docs/live-update-pills.md

Notes

  • Type-check and lint pass on all changed files.

Closes #501
Closes #497
Closes #498
Closes #499

shaaibu7 added 4 commits June 1, 2026 18:02
Add a dedicated presets menu to the dashboard toolbar for saving,
loading, renaming, deleting, and sharing dashboard filter combinations.

- Save the current filter combination as a named preset
- Load a preset to reapply its filters in one click
- Rename presets inline (duplicate names rejected)
- Delete presets
- Shared access: mark presets shared/private and copy a shareable
  link that re-applies the filters via URL params
- Persist preset definitions in local storage with backward-compatible
  normalization of older preset records
- Document the preset workflow in docs/filter-presets.md
Add a context-sensitive summary banner that surfaces the most important
fields for a selected entity at the top of its detail page.

- Generic EntitySummaryBanner component (entity-type badge, title,
  subtitle, actions slot)
- Compact and expanded layout modes with a built-in toggle; expanded
  mode reveals per-field hint text
- Loading state with skeleton field cards
- Per-field status dots, trend chips, and drilldown links (router link
  or in-page action)
- Integrate into the asset detail page with health, price, liquidity,
  and trend fields wired to tab drilldowns
- Document banner behaviour in docs/entity-summary-banner.md
Add a lightweight, accessible onboarding tour that guides new users
through the main dashboard regions.

- useDashboardTour hook manages step state, completion, and skip/resume,
  persisted to local storage; auto-starts once on first visit
- DashboardTour overlay renders a spotlight around the active region and
  a focusable tooltip dialog with progress dots and Back/Next/Skip/Finish
- Responsive positioning recomputes on resize/scroll and clamps the
  tooltip to the viewport
- Keyboard navigation (arrows to move, Esc to skip) and focus management
- Tour steps attached to dashboard toolbar, filters, KPIs, and status
  cards, plus a Take a tour / Replay tour trigger
- Document the tour flow in docs/dashboard-tour.md
Add compact pills that show how recently a view updated and when it is
stale, reused across views.

- useRelativeTime hook formats relative time, reports age and staleness,
  and re-renders on a cadence matched to the value's age
- LiveUpdatePill component shows last-updated text, a stale indicator,
  and a live polling state (pulsing dot); compact and accessible via
  role=status / aria-live / aria-label
- Reuse on the dashboard header and asset detail banner, driven by React
  Query dataUpdatedAt / isFetching
- Document update semantics in docs/live-update-pills.md
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Jun 1, 2026

@shaaibu7 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Live Update Pills Add Filters Presets Menu Build Entity Summary Banner Create Dashboard Tour Overlay

1 participant