feat(index-dtf): DTF switcher dropdown in navigation - #1083
feat(index-dtf): DTF switcher dropdown in navigation#1083devin-ai-integration[bot] wants to merge 2 commits into
Conversation
Clicking the DTF logo in the desktop nav (or the DTF row in the mobile pages menu) opens a searchable DTF list that navigates to the same section for the selected DTF. Co-Authored-By: Patrick <patrick.mckelvy@reserve.org>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Deploying register-app with
|
| Latest commit: |
7351082
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://bd0bc73a.register-app.pages.dev |
| Branch Preview URL: | https://devin-1786116287-dtf-switche.register-app.pages.dev |
Ticker queries now match symbol/name only; addresses match address-shaped queries, so short tickers no longer fuzzy-match hex. Co-Authored-By: Patrick <patrick.mckelvy@reserve.org>
Manual E2E verification — commit
|






Summary
Switching DTFs previously meant Discover → target DTF overview → target section. Now the DTF identity is a switcher: clicking the logo (desktop nav header), the DTF row at the top of the mobile pages menu, or the new DTF chip above the issuance/zap panel opens a searchable list of DTFs and navigates to the same section for the selected DTF — governance → governance, issuance → issuance, cross-chain included.
New feature-local component
src/views/index-dtf/components/dtf-switcher/index.tsx(Popover + cmdk Command overuseIndexDTFList()):List drops
status === 'unsupported', sorts active-before-deprecated then by market cap, marks the current DTF. Search uses a custom cmdkfilter: address keywords only match0x-prefixed queries — with default fuzzy matching a query likeBGCIscored 6 rows because item addresses are hex. Selection emits the semantic tap eventuseTrackIndexDTFClick(section, 'navigation') → 'switch_dtf'with target ca/ticker/chain, and on mobile closes the parent pages menu viaonNavigate.Surfaces:
ChevronsUpDownaffordance (the symbol moved from the hover-revealed block into the trigger).issuance/dtf-switcher-header.tsxrenders a chip above the zap widget (dtf-switcher-trigger-issuance). The widget's own "You receive: $TICKER" row lives in@reserve-protocol/react-zapperand can't host the dropdown from this repo, so the affordance sits directly above the panel.Verification:
pnpm typecheck,pnpm lint,pnpm e2e:smoke(60 passed), newe2e/tests/index-dtf/navigation/dtf-switcher.spec.tsgreen on smoke/full/mobile (section preservation incl. issuance, address + ticker search, no-match empty list, auctions→overview fallback, mobile menu close), plus manual browser verification against the live API (cross-chain governance switch, settings, auctions fallback and its active-DTF control case).e2e/TEST_MAP.mdupdated (its spec counts were also stale by one).Engineer review required — shared Index DTF navigation, routing, issuance surface, and analytics.
Link to Devin session: https://app.devin.ai/sessions/b94a7208cbe341fa948be9aafd1f82e4