feat(website): library pages in the homepage manner - #914
Merged
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
/langgraph's subtitle was the site's final six-noun list; /ag-ui's re-enumerated all eight runtimes its own H1 had just counted. The other library-page copy was verified already in voice — this closes the recorded five-page copy-pass follow-up as satisfied. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add libLanggraph/libChat/libAgUi/libRender to SECTION_MEDIA for Task 2 of the library-pages plan. Code sources are lifted verbatim from each page's current static mock content (app.config.ts blocks for langgraph/ag-ui, the spec JSON for render); libChat has no code pane since its mock is a fake chat-debug panel, not source. Task 3 wires the pages to these entries and deletes the page-local copies.
Adopt the homepage's MediumSwitcher, dark FinalCTA, and hero kicker rail
across the four library pages (/langgraph, /chat, /ag-ui, /render):
- First FeatureBlock's static BrowserFrame mock is replaced with
MediumSwitcher, panes built server-side via buildPanes(SECTION_MEDIA.lib*).
For /ag-ui the static mock lives on the "primitives" FeatureBlock (its
first block, BackendsGrid, is real content, not a mock) — the switcher
goes there instead, matching the SECTION_MEDIA.libAgUi code content that
was already lifted from that block.
- Mono package-identity kicker + rail hairline above each hero h1.
- One marker-highlight sweep per subtitle on the load-bearing phrase.
- FinalCTA variant="dark" on all four; /ag-ui also gains
WhitePaperBlock paper="overview" for parity with the other three.
- Orphaned static-mock CSS deleted from pages.css (zero consumers after
the page edits): render-page-visual-panel/-spec-block/-rendered-card/
-ai-label/-card-title/-card-value; chat-page-visual-panel/
-visual-pills-row/-tool-label/-result-block/-replay-footer;
ag-ui-page-code-pre; langgraph-page-code-pre.
Page specs assert kicker text, marker span, switcher tablist, and dark
FinalCTA surface. Each spec mocks its second FeatureBlock's *CodeShowcase
(untouched, pre-existing) because it's an async Server Component and
react-dom/client cannot render an async component outside Next's RSC
pipeline ("Only Server Components can be async at the moment").
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Review caught that each library hero (/langgraph, /chat, /ag-ui, /render) showed the package name twice: the new .lib-hero-rail kicker plus the old plain <Eyebrow className="*-page-eyebrow-spaced"> line that predates it. Delete the old line on all four pages, keeping the rail kicker as the sole package-identity marker. Deleted the now-zero-consumer *-page-eyebrow-spaced CSS rules from pages.css: render-page-eyebrow-spaced, chat-page-eyebrow-spaced, ag-ui-page-eyebrow-spaced, langgraph-page-eyebrow-spaced. pricing-page-eyebrow-spaced is a distinct rule still used by /pricing and is untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- section-media.ts libRender: SolutionCode's language union is typescript | python | html — no 'json' — so the code block stays tagged typescript (noted inline); simplified its dead label to 'spec.json'. - section-media.ts: the library-entries comment described Task 3's not-yet-done deletion of the page-local mocks; rewritten to present tense now that the pages consume these entries and the mocks are gone. Also documented the /ag-ui deviation (switcher lands on its second block, BackendsGrid stays on the first) directly on libAgUi. - FinalCTA.spec.tsx: test name said "8 non-home pages" — now 4 after the library pages moved to the dark closer. - library-pages-design.md §1: amended the FIRST FeatureBlock sentence with the ratified /ag-ui deviation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
blove
enabled auto-merge (squash)
September 1, 2026 02:58
Contributor
Contributor
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.
Summary
/langgraph,/chat,/ag-ui,/renderget the homepage treatment, perdocs/superpowers/specs/2026-08-31-library-pages-design.md:AG_UI_CLIP), Live scenarios via?featured=, and Code panes lifted byte-verbatim from the old mocks intoSECTION_MEDIA(auto-validated by the existing media spec). Panes omitted where media doesn't exist, never faked:/chathas no code pane,/ag-uino live./ag-ui's switcher lands on its second block — the first is the real BackendsGrid, not a mock (ratified deviation, recorded in the spec).FinalCTA variant="dark"on all four; rule amendment recorded — dark closes product pages, commerce pages stay tinted (test-guarded)./ag-uigains WhitePaperBlock parity.buildPanesextracted from the homepage into a shared server module, byte-identical./langgraph,/ag-uisubtitles).Test Plan
nx test website— 52 files / 394 tests green (four new page specs pin kicker/marker/tablist/dark-closer per page)nx build website --configuration=production— green (async pages + shared buildPanes)🤖 Generated with Claude Code