Skip to content

Add analytics drill-down, duplicate quick-upvote, and live support hint - #745

Open
aishabellova wants to merge 3 commits into
stellar-vortex-protocol:mainfrom
aishabellova:drips/604-611-612
Open

aishabellova wants to merge 3 commits into
stellar-vortex-protocol:mainfrom
aishabellova:drips/604-611-612

Conversation

@aishabellova

Copy link
Copy Markdown

Summary

Add analytics drill-down, duplicate quick-upvote, and live support hint

What was solved

#604 — [Medium] Add drill-down links from Analytics KPI cards and chart segments to a filtered Explore view

Add drill-down navigation from Analytics KPI cards and TopMoversPanel entries to the Explore page, pre-filtered via IntentSearchBox key:value query syntax. Scope is bounded to KPI cards and top movers only (Sankey/route-flow drill-down explicitly out of scope). Requires reading searchQuery.ts to build valid query strings, wiring Next.js Link/router navigation in AnalyticsPageClient.tsx, and ensuring ExplorePageClient.tsx consumes the query params to pre-filter results.

Addressed:

  • Changed: src/lib/searchQuery.ts
  • KPI cards in AnalyticsPageClient.tsx must link to /explore with query params matching IntentSearchBox key:value syntax from src/lib/searchQuery.ts
  • TopMoversPanel entries must link to /explore with query params matching IntentSearchBox key:value syntax
  • Generated drill-down URLs must, when loaded on Explore, produce the expected filtered result set (ExplorePageClient must honor the query params)

#611 — [Trivial] Surface a direct upvote action when a support request is rejected as a duplicate

Wire the existing existingId from a duplicate submit error into an inline one-click upvote action in RequestsPageClient, calling upvoteSupportRequest(existingId, address) directly from the error state, with i18n strings in en/es and a test asserting the correct existingId is passed.

Addressed:

  • Changed: src/app/requests/RequestsPageClient.tsx, src/app/requests/RequestsPageClient.tsx, src/lib/i18n/messages/en.ts, src/lib/i18n/messages/es.ts
  • When submitSupportRequest returns { ok: false, error: "duplicate", existingId }, read existingId in RequestsPageClient and render an inline action labeled via i18n (e.g. requests.error.duplicateUpvote) that calls upvoteSupportRequest(existingId, address) on click.
  • Keep the existing translated duplicate error message; add the upvote action alongside it rather than replacing it.
  • Add new user-facing strings to both src/lib/i18n/messages/en.ts and es.ts.

#612 — [Medium] Add a live "already supported" check as the user types a chain/token name

Add a debounced live "already supported" hint to the support-request form in RequestsPageClient.tsx, using the existing isAlreadySupported helper and useDebouncedValue hook, with i18n strings in en.ts and es.ts. Submission behavior stays unchanged.

Addressed:

  • Changed: src/app/requests/RequestsPageClient.tsx
  • Debounce the name field value using the existing src/hooks/useDebouncedValue.ts hook
  • Call isAlreadySupported(kind, debouncedName) and show an inline hint ("This is already supported") before submission
  • Keep submission validation/blocking behavior exactly as today — this is early-warning UX only, not a validation change

Changes

  • src/lib/searchQuery.ts (modify)
  • src/lib/i18n/messages/en.ts (create)
  • src/app/requests/RequestsPageClient.tsx (modify)
  • src/lib/i18n/messages/es.ts (create)

Approach

  1. [Medium] Add drill-down links from Analytics KPI cards and chart segments to a filtered Explore view #604 — [Medium] Add drill-down links from Analytics KPI cards and chart segments to a filtered Explore view (Changed: src/lib/searchQuery.ts)
  2. [Trivial] Surface a direct upvote action when a support request is rejected as a duplicate #611 — [Trivial] Surface a direct upvote action when a support request is rejected as a duplicate (Changed: src/app/requests/RequestsPageClient.tsx, src/app/requests/RequestsPageClient.tsx, src/lib/i18n/messages/en.ts, src/lib/i18n/messages/es.ts)
  3. [Medium] Add a live "already supported" check as the user types a chain/token name #612 — [Medium] Add a live "already supported" check as the user types a chain/token name (Changed: src/app/requests/RequestsPageClient.tsx)

Issues

Closes #604
Closes #611
Closes #612

@drips-wave

drips-wave Bot commented Oct 22, 2026

Copy link
Copy Markdown

@aishabellova 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

1 participant