Skip to content

Commit 82b5365

Browse files
bloveclaude
andcommitted
chore(website): final-review polish for the library pages arc
- 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>
1 parent 31f72b5 commit 82b5365

3 files changed

Lines changed: 14 additions & 8 deletions

File tree

apps/website/src/components/landing/FinalCTA.spec.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ vi.mock('../../lib/analytics/client', () => ({
1111
}));
1212

1313
describe('FinalCTA', () => {
14-
it('defaults to the tinted surface (used by 8 non-home pages)', () => {
14+
it('defaults to the tinted surface (used by 4 non-home pages)', () => {
1515
const { container } = render(<FinalCTA />);
1616
expect(
1717
container.querySelector('[data-ui="section"]')?.getAttribute('data-surface'),

apps/website/src/lib/section-media.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,10 @@ const catalog = views({
113113
},
114114

115115
// The four library pages (/langgraph, /chat, /ag-ui, /render) reuse this
116-
// table for their first FeatureBlock's medium switcher. Code sources below
117-
// are lifted verbatim from each page's current static mock content — Task
118-
// 3 of the library-pages plan deletes those page-local copies once the
119-
// switcher is wired in, so for now the same source lives in both places.
116+
// table for their first FeatureBlock's medium switcher — except /ag-ui,
117+
// whose switcher replaces its SECOND block's mock (see libAgUi below). The
118+
// pages consume these entries via buildPanes; the page-local static mocks
119+
// they were lifted from are gone.
120120
libLanggraph: {
121121
video: LANGGRAPH_CLIP,
122122
live: { featured: 'tell-me-about-coral' },
@@ -153,7 +153,9 @@ export class ChatComponent {
153153
libAgUi: {
154154
video: AG_UI_CLIP,
155155
// No live tab: the demo host speaks LangGraph, and wiring AG-UI into it
156-
// live is out of scope for this arc.
156+
// live is out of scope for this arc. Unlike the other three pages, this
157+
// switcher lands on /ag-ui's SECOND FeatureBlock — its first block's
158+
// visual is the real BackendsGrid, not a mock.
157159
code: [
158160
{
159161
label: 'app.config.ts',
@@ -186,7 +188,9 @@ export class App {
186188
live: { featured: 'generative-ui-contact-form' },
187189
code: [
188190
{
189-
label: 'render · spec → component',
191+
// 'json' isn't in SolutionCode's language union (typescript | python
192+
// | html), so this stays tagged typescript for Shiki highlighting.
193+
label: 'spec.json',
190194
language: 'typescript',
191195
source: `{
192196
"type": "card",

docs/superpowers/specs/2026-08-31-library-pages-design.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ the homepage wall).
1515
Each page's FIRST FeatureBlock swaps its static BrowserFrame mock for
1616
`MediumSwitcher`, panes built server-side via the homepage's `buildPanes`
1717
pattern (extract that helper from `app/page.tsx` into a shared module rather
18-
than copy it — it is currently page-local). The SECOND FeatureBlock keeps its
18+
than copy it — it is currently page-local). (/ag-ui deviates: its first
19+
block's visual is the real BackendsGrid; the switcher replaces the static
20+
mock on its second block instead.) The SECOND FeatureBlock keeps its
1921
CodeShowcase untouched.
2022

2123
New `SECTION_MEDIA` entries (validation via the existing section-media.spec

0 commit comments

Comments
 (0)