You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow users to pin their favourite currency pairs to a personal watchlist on the dashboard. Instead of seeing all available rates, users see only the pairs they care about most — NGN/USD, NGN/GBP, etc. — with live rate updates.
What Needs to Be Done
1. Watchlist persistence
Store the user's watchlist in localStorage (no backend required for this feature):
On each rate card in components/dashboard/market-overview.tsx:
Star/pin icon button
Filled star = in watchlist, outline star = not in watchlist
Clicking toggles the pair in/out of the watchlist
4. Position on dashboard
Watchlist section appears at the top of the dashboard (above account overview) if the user has at least one pinned pair
Hidden entirely if the watchlist is empty
Acceptance Criteria
Pinning a pair from market overview adds it to the watchlist
Watchlist persists across page refresh (localStorage)
Watchlist hidden when empty
Auto-refresh every 60 seconds
Remove button removes the pair immediately
"Add pair" dropdown shows available pairs not already in watchlist
npm run build and npm run lint pass
⚠️IMPORTANT — READ BEFORE SUBMITTING YOUR PR
Your pull request MUST target the v2 branch.
PRs targeting main or any other branch will not be reviewed and will not be merged.
Base branch: v2 ✅
Base branch: main ❌ → will be closed without review
Summary
Allow users to pin their favourite currency pairs to a personal watchlist on the dashboard. Instead of seeing all available rates, users see only the pairs they care about most — NGN/USD, NGN/GBP, etc. — with live rate updates.
What Needs to Be Done
1. Watchlist persistence
Store the user's watchlist in localStorage (no backend required for this feature):
2.
components/dashboard/watchlist.tsx3. Add/remove from market overview
On each rate card in
components/dashboard/market-overview.tsx:4. Position on dashboard
Acceptance Criteria
npm run buildandnpm run lintpassComplexity: High — 200 points