Fix mobile search and render Lucide icons - #28
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the docs experience by fixing the mobile documentation search overlay layout (so it’s not constrained by the sticky header) and enhancing the generated API reference for @askrjs/lucide with a visual, attributed icon grid while preserving stable anchors and deep-link behavior.
Changes:
- Portal the docs search overlay outside the sticky header and constrain the mobile results panel height.
- Add a dedicated Lucide root API page that renders a searchable icon grid with stable anchors and hash-target visibility.
- Derive the Lucide gallery version from the generated API manifest and add static-output verification for the Lucide root page.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/docs-catalog.test.ts | Extends regression tests for mobile search CSS and validates Lucide root API page behavior. |
| src/styles.css | Adjusts mobile search overlay layout; adds target/highlight + anchor styling for icon tiles; tweaks API symbols grid for Lucide types. |
| src/pages/docs/search.tsx | Portals the search overlay DOM to avoid sticky header containment issues. |
| src/pages/docs/lucide-icons.ts | Adds shared Lucide icon export enumeration and lookup map. |
| src/pages/docs/lucide-gallery.tsx | Switches to shared icon list and derives displayed version from apiManifest. |
| src/pages/docs/lucide-api-page.tsx | Introduces a custom Lucide root API reference page with searchable icon tiles and deep-link scrolling. |
| src/pages/docs/catalog.ts | Routes Lucide root API entrypoint to the custom Lucide API page loader. |
| scripts/verify-static-output.ts | Adds assertions ensuring Lucide root API output renders a known icon tile and upstream attribution. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+7
to
+10
| const lucideVersion = apiManifest.find( | ||
| (entrypoint) => | ||
| entrypoint.packageName === '@askrjs/lucide' && entrypoint.subpath === '.' | ||
| )!.version; |
Comment on lines
+9
to
+13
| const entrypoint = apiManifest.find( | ||
| (candidate) => | ||
| candidate.packageName === '@askrjs/lucide' && candidate.subpath === '.' | ||
| )!; | ||
| const symbols = apiSymbolSets[entrypoint.symbolSet]; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the mobile documentation search overlay by portaling it outside the sticky blurred header and constraining the mobile results panel. Adds an attributed, searchable icon grid to the @askrjs/lucide root API reference while preserving every generated anchor and making hash deep links visible below the sticky header. Also derives the Lucide gallery version from the generated manifest.\n\nValidated locally with npm run check: 338/338 static routes and 32,501 API anchors.