Skip to content

feat(search): extract Command Palette into reusable component and add… - #46

Merged
Yash-pluto merged 1 commit into
mainfrom
refme/frontend/ux
Aug 19, 2026
Merged

Yash-pluto merged 1 commit into
mainfrom
refme/frontend/ux

Conversation

@Yash-pluto

@Yash-pluto Yash-pluto commented Aug 19, 2026 •

Copy link
Copy Markdown
Owner

… typo tolerance

Refactored TopicLayout and LandingPage to utilize a unified SearchPalette component. Implemented a dual-threshold Fuse.js search to provide 'Did you mean?' suggestions for improved UX when exact matches fail.

Summary by CodeRabbit

  • New Features

    • Added a unified search experience for quickly finding topics.
    • Selecting a search result now navigates directly to the relevant topic page.
    • Added keyboard shortcut support for opening search.
  • Style

    • Refreshed landing page styling across the header, hero section, category cards, and footer for a more consistent visual experience.

… typo tolerance

Refactored TopicLayout and LandingPage to utilize a unified SearchPalette component. Implemented a dual-threshold Fuse.js search to provide 'Did you mean?' suggestions for improved UX when exact matches fail.
@Yash-pluto Yash-pluto self-assigned this Aug 19, 2026
@Yash-pluto Yash-pluto added enhancement checked The provided code works. labels Aug 19, 2026
@vercel

vercel Bot commented Aug 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
refme Ready Ready Preview Aug 19, 2026 4:34pm

@coderabbitai

coderabbitai Bot commented Aug 19, 2026 •

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: f6b1c0ec-3ddf-4308-b3b4-efa561b172d4

📥 Commits

Reviewing files that changed from the base of the PR and between 56cb9bf and ce47bcd.

📒 Files selected for processing (1)
  • frontend/app/page.tsx

📝 Walkthrough

Walkthrough

The landing page replaces local Fuse.js and cmdk search with shared SearchPalette functionality. It converts reference data into SearchItem records, navigates selections to topic routes, centralizes theme classes, and removes obsolete search state and imports.

Changes

Landing page search and styling

Layer / File(s) Summary
Shared search integration
frontend/app/page.tsx
LandingPage uses SearchPalette and useSearchOSKey. It converts REFERENCE_DATA into SearchItem records and routes selected items to topic pages.
Theme class migration
frontend/app/page.tsx
Header, hero, category cards, topic cards, footer, and external links use the renamed themeClasses object.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Visitor
  participant LandingPage
  participant SearchPalette
  participant NextRouter
  Visitor->>LandingPage: press modifier+K
  LandingPage->>SearchPalette: open shared command palette
  SearchPalette->>LandingPage: return selected SearchItem
  LandingPage->>NextRouter: navigate to topic route
Loading

Possibly related PRs

  • Yash-pluto/refme#39: Both changes modify the landing page search implementation. This PR replaces the Fuse.js search introduced there with shared SearchPalette functionality.

Poem

Search keys now guide the way,
Shared palettes light the page.
Topics open with a click,
Theme classes keep styles quick.
Old search code fades from sight.
Routes follow the chosen light.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refme/frontend/ux

Comment @coderabbitai help to get the list of available commands.

@Yash-pluto Yash-pluto left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Search Palette works better for all pages seamlessly.

@Yash-pluto
Yash-pluto merged commit a32e464 into main Aug 19, 2026
3 of 4 checks passed

This branch was successfully deployed

1 active deployment
Preview — ce47bcd6 Deployed Aug 19, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

checked The provided code works.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant