feat(registry): per-family component landing pages#464
Open
bntvllnt wants to merge 4 commits into
Open
Conversation
Add a landing page per component family at /families/[category] — hero, description, component count, and a card grid — generated from the existing `category` enum (11 families; `ai` keeps its curated /ai landing via a new `familyPath` helper). Wires internal links + SEO: - /components family headings and the component-page family breadcrumb crumb now link to the family page. - sitemap: 11 family routes (× locales). - JSON-LD: new `collectionPageLd` (CollectionPage + ItemList) + BreadcrumbList. - e2e: family landing renders, unknown family 404s, breadcrumb crumb navigates. Closes #463 Claude-Session: https://claude.ai/code/session_01KB2yTDBo7Knydqvz1VvFdF
|
ntk preview
Built from |
The ntk preview check failed at the infra layer (deploy unrouted; all paths 404 including pre-existing routes) — not the diff. Empty commit to retry the preview; all GitHub Actions checks were green. Claude-Session: https://claude.ai/code/session_01KB2yTDBo7Knydqvz1VvFdF
Clicking a family in the sidebar now navigates to its landing page instead of only drilling in place. Family sections carry an optional `href` (SidebarSection.href): FamilyList renders a link when present (button-drill kept as a no-href fallback), the drilled family header links there too, and auto-drill now matches the family route — so landing on /families/[category] (or /ai) opens the sidebar straight into that family. - @vllnt/ui Sidebar: SidebarSection.href + link rendering + family-route auto-drill (non-family sidebars unchanged). - registry: getSidebarSections stamps each family's href via familyPath. - e2e: family row navigates to the homepage and drills the sidebar. - regenerate sidebar registry artifacts. Claude-Session: https://claude.ai/code/session_01KB2yTDBo7Knydqvz1VvFdF
The gallery ComponentPreview switch only covered 142 components; the other 167 (all of data-display, ai, billing, educational + most of the rest) fell through to the text PlaceholderPreview — so family pages like /families/data-display showed no real previews. Add a bespoke inline preview per component (same pattern as the existing 142), authored against each component's real API. - 307 components now render a live inline preview; 2 (scroll-progress, heat-overlay) use the existing SimplePreview fallback (viewport-fixed / TS children-typing quirk). 0 placeholders remain. - Deterministic demo data only (no Math.random / Date.now / argless Date). - App-internal component — no registry regeneration. Claude-Session: https://claude.ai/code/session_01KB2yTDBo7Knydqvz1VvFdF
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.
Adds a landing page per component family at
/families/[category]. Validate on the preview link below.What
/families/[category]— hero (family name + description + count) and a card grid of that family's components. Generated from the existingcategoryenum (11 families).aiis excluded — it keeps its curated/ailanding (via a newfamilyPathhelper)./componentsfamily headings and the component-page family breadcrumb crumb (added in feat: component sidebar drill-down navigation #461) now link to the family page.sitemap.ts; newcollectionPageLdJSON-LD (CollectionPage+ItemList) +BreadcrumbList.Notes
@vllnt/uichanges → no registry regeneration needed.How to validate
/families/form(or/components→ click a family heading) → family grid + breadcrumb./components/form) → click the Form crumb → lands on/families/form.aifamily heading still routes to the curated/ai.Closes #463
https://claude.ai/code/session_01KB2yTDBo7Knydqvz1VvFdF