Skip to content

header search bar (Cmd+K) + dialog redesign — cherry-pick to main - #698

Merged
Flotapponnier merged 1 commit into
mainfrom
chore/cherry-pick-search-bar-main
Jun 25, 2026
Merged

header search bar (Cmd+K) + dialog redesign — cherry-pick to main#698
Flotapponnier merged 1 commit into
mainfrom
chore/cherry-pick-search-bar-main

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Cherry-pick of the search-bar work shipped on dev (PRs #671, #677, #680, #682, #687, #688) into a single focused PR to main.

What lands

  • Cmd+K / Ctrl+K / '/' opens the search dialog (cmdk + Fuse.js, ~400 doc index)
  • Wide input-pill trigger in the header (no shortcut badge, Linear-style)
  • Idle state: Recent chips (localStorage, X-to-remove) + Live leaders cards (logo + p50 from /api/citable) + Trending list
  • Search state: results grouped by kind with leader/entity logos
  • Modal: hairline border, single shadow, no accent focus ring (opt-out from the global :focus-visible rule), backdrop-blur, 150ms fade+slide-down open animation
  • Mobile: full-bleed sheet, X close button
  • Header: removed | separator, h-16, backdrop-blur sticky, GitHub icon-only

Template fix bundled (search-adjacent)

  • renderBenchmarkText now resolves seoTitle / seoDescription / subtitle / methodology / disclaimer — the Featured / Trending cards in the dialog were showing raw {{best_name}} in description previews.
  • Chain stash lookup case-insensitive (perp-fees uppercase chains).
  • Cache keys bumped: bench-unfiltered v11→v12 + all-benchmarks v15→v16 so cached snapshots regenerate immediately on deploy.

Deps

  • cmdk@^1.1.1, fuse.js@^7.4.2 (lockfile synced from dev).

Scope kept tight

Did NOT bring dev's unrelated spec.ts refactors (quorum guard, MS_PER_MINUTE, expectedN overlay). Cache keys bumped from main's baseline (v11→v12, v15→v16), not dev's (v13/v17).

Test plan

  • Cmd+K opens dialog → no orange ring, Linear-style chrome.
  • Empty query → Recent + Live leaders + Trending sections render.
  • Type 'rpc' → grouped results, no raw {{best_name}} in any description.
  • Click a result → recent updates next time.
  • Mobile: full-bleed sheet, X to close.
  • CI green (lint + typecheck).

Bundles the search-experience work merged on dev into a single
cherry-pick to main. Includes:

- Cmd+K / Ctrl+K / '/' to open; ESC to close
- Wide input-pill trigger in the header (Linear-style, no shortcut badge)
- cmdk + Fuse.js fuzzy search over ~400-doc index (benchmarks, products,
  alternatives, answers, chains, compare pairs, pages)
- Modal redesign: hairline border, single shadow, no accent focus ring
  (opt-out from the global :focus-visible accent rule)
- Idle state: Recent (localStorage chips, X-to-remove, Clear) + Live
  leaders (horizontal snap cards with leader logo + p50 from /api/citable)
  + Trending list (vertical, same data shape)
- Search state: results grouped by kind, each row gets the leader's
  logo (benches) / entity logo (products/chains) / kind icon fallback
- Mobile: full-bleed sheet, footer hidden, X close button
- Open animation: handcrafted CSS keyframes (fade + 4px slide-down,
  150ms ease-out), reduced-motion fallback

Template fix bundled (search-adjacent — surfaces description tokens):
- renderBenchmarkText now resolves seoTitle / seoDescription / subtitle /
  methodology / disclaimer (Featured / Trending cards in the search
  dialog were showing raw '{{best_name}}' tokens in description previews)
- Chain stash lookup case-insensitive (fixes perp-fees uppercase chain
  values ETH/BTC/SOL)
- Bumped bench-unfiltered v11→v12 + all-benchmarks v15→v16 so the
  cached snapshots regenerate through the wider resolver instead of
  serving raw tokens for up to 300s after deploy

Deps:
- cmdk@^1.1.1, fuse.js@^7.4.2 (lockfile synced from dev)

Header redesign:
- Removed | separator between Contribute and GitHub
- 15px nav, h-16 desktop, backdrop-blur on the sticky
- GitHub icon-only, gap-spaced utilities
@Flotapponnier
Flotapponnier merged commit 30eeb11 into main Jun 25, 2026
1 check passed
@Flotapponnier
Flotapponnier deleted the chore/cherry-pick-search-bar-main branch July 17, 2026 14:41
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.

1 participant