Skip to content

feat(web): add node search with highlight/dim to Graph tab#102

Open
jigangz wants to merge 1 commit intoCrawlith:mainfrom
jigangz:feat/graph-node-search
Open

feat(web): add node search with highlight/dim to Graph tab#102
jigangz wants to merge 1 commit intoCrawlith:mainfrom
jigangz:feat/graph-node-search

Conversation

@jigangz
Copy link

@jigangz jigangz commented Mar 16, 2026

Summary

Closes #2

Implements real-time node search in the Graph tab dashboard, letting users instantly find specific pages by URL or title without scrolling through large crawls.

Changes

New file: packages/web/src/components/GraphSearch.tsx

  • Reusable search input component with a clear (✕) button
  • Uses lucide-react icons (Search, X) — already a project dependency
  • Fully controlled, calls onSearch callback on every keystroke

Modified: packages/web/src/components/Tabs/GraphTab.tsx

  • Integrates GraphSearch into the visualization column header
  • Matching nodes: remain fully visible, grow slightly, and glow
  • Non-matching nodes: fade to 15% opacity with a smooth CSS transition
  • Node lists below the SVG also filter live to show only matching nodes
  • Clearing search restores all nodes immediately

Behaviour

State Incoming nodes Outgoing nodes
No query All visible (normal) All visible (normal)
Query matches node Full opacity + glow Full opacity + glow
Query doesn't match 15% opacity (dimmed) 15% opacity (dimmed)
Query cleared All restored All restored

No new dependencies

Only uses existing project deps: React hooks + lucide-react.

Closes Crawlith#2

- Add GraphSearch component: search input with clear button (lucide icons)
- Integrate search into GraphTab visualization column header
- Matching nodes stay fully visible and grow slightly with glow effect
- Non-matching nodes fade to 15% opacity in real-time as user types
- Node lists below the SVG also filter to matching results only
- No external dependencies added
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.

feat(ui): Implement node search functionality in the interactive graph

1 participant