Skip to content

feat: add dashboard watchlist panel for pinned counterparties and assets (Closes #891) - #1152

Open
waterWang wants to merge 1 commit into
Stellopay:mainfrom
waterWang:feature/dashboard-watchlist-panel
Open

feat: add dashboard watchlist panel for pinned counterparties and assets (Closes #891)#1152
waterWang wants to merge 1 commit into
Stellopay:mainfrom
waterWang:feature/dashboard-watchlist-panel

Conversation

@waterWang

Copy link
Copy Markdown

Summary

Adds a watchlist panel to the dashboard so users can pin the counterparties and assets they transact with most, and see their latest activity at a glance.

Changes

  • New components/dashboard/watchlist-panel.tsx — WCAG 2.1 AA accessible panel with:
    • Add/pin form (counterparty or asset type selector)
    • Per-item type badge, last-activity timestamp, and balance display
    • sr-only live announcements (aria-live="polite") for add/remove
    • Focus management (auto-focus input on open)
    • Responsive layout (sm 640 / md 768 / lg 1024 / xl 1280)
  • New utils/watchlist.ts — per-account localStorage helpers (add/remove/update) following the SSR-safe pattern in context/wallet-context.tsx.
  • Wired WatchlistPanel into components/dashboard/dashboard-page.tsx.
  • New components/dashboard/watchlist-panel.test.tsx — 12 tests covering add, remove, dedupe, persistence, empty state, and addressOverride.
  • Fixed duplicate imports + missing useCallback in dashboard-page.tsx — the file did not compile on main (pre-existing bug surfaced when running the test suite).

Accessibility

  • WCAG 2.1 AA color contrast, keyboard navigation, aria-live announcements, role="radiogroup" for the type selector, and focus-visible rings throughout.

Testing

  • NODE_ENV=development npx vitest run components/dashboard/watchlist-panel.test.tsx components/dashboard/dashboard-page.test.tsx21 tests passing.

Closes #891

Adds a watchlist widget to the dashboard that lets users pin
counterparty addresses and assets for quick reference. The pinned
list is persisted per-account via localStorage.

Closes Stellopay#891
@vercel

vercel Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

@waterWang is attempting to deploy a commit to the Jagadeesh B's projects Team on Vercel.

A member of the Team first needs to authorize it.

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.

Add a watchlist panel for pinned counterparties or assets to components/dashboard/dashboard-page.tsx

1 participant