Skip to content

Restructure the home page around the three OpenUI products - #1095

Open
pd-builds wants to merge 14 commits into
mainfrom
home-product-sections
Open

Restructure the home page around the three OpenUI products#1095
pd-builds wants to merge 14 commits into
mainfrom
home-product-sections

Conversation

@pd-builds

@pd-builds pd-builds commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Work in progress, opened so it can be picked up by someone else. Not ready to merge: see Outstanding below.

What changed

One shared ProductSection, rendered three times. Lang on the page background, Gateway and Observability on the black Cloud band. They differ only in copy and a tone prop, so they read as three of the same thing. This replaces the stack diagram and the use-cases stepper, both removed from the home page.

The Cloud band is now just the products. Its heading, feature grid and capability ticker are gone; the contact CTA moved to the top and took the section-title scale ("Upgrade your Generative UI agent.").

The feature grid section keeps only its benchmark header and the compatibility band, in that order, via two new opt-in props (compatFirst, showHeaderSeparator). The four other pages that use this component are unaffected: all pass showCompat={false} and keep the defaults.

New closing FAQ, built on <details> rather than a JS accordion so every answer stays in the markup for crawlers and coding agents, and it works with no JavaScript.

The agent picker copies a setup prompt, not a CLI command. The per-agent --agent-name suffix is removed so the prompt is copied verbatim; both pickers (header and hero) share one exported AGENT_SETUP_PROMPT.

Outstanding

  • Artwork is missing. Each band's stage renders empty at the right aspect ratio. The brief for all three images is recorded at the top of products.ts.
  • Gateway's "View docs" is a placeholder, pointing at the Cloud docs, since Gateway has no docs of its own yet. Flagged in the file.
  • The home page no longer links to /cloud/observability. The latest copy dropped each band's primary CTA, leaving only "View docs". The nav still links there.
  • "3 Million+ downloads" is hardcoded beside the live star count. Worth confirming against the real npm figure.

Verification

next build passes. Layout, spacing, copy, theming and the clipboard payload were checked in the browser against both light and dark themes.

🤖 Generated with Claude Code

Replaces the stack diagram and the use-cases stepper with one shared
ProductSection, rendered three times: Lang on the page background, and
Gateway and Observability on the black Cloud band. They differ only in
copy and tone, so a shared shape makes them read as three of the same
thing rather than three separate pitches.

The Cloud band loses its own heading, feature grid and capability
ticker; the contact CTA moves to the top of it and takes the section
title scale. The feature grid section keeps only its benchmark header
and the compatibility band, now in that order.

Adds a closing FAQ built on <details> rather than a JS accordion, so
every answer stays in the markup for crawlers and coding agents reading
the page, and it works with no JavaScript.

The agent picker copies a setup prompt instead of a CLI command, so the
per-agent "--agent-name" suffix is gone and the text is copied verbatim.
It now sits both in the header and beside the hero command, sharing one
exported AGENT_SETUP_PROMPT so the wording cannot drift.

Product artwork is still pending: each band's stage renders empty at the
right aspect ratio, and the brief for each image is recorded at the top
of products.ts.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
openui-docs Ready Ready Preview Sep 2, 2026 4:45pm UTC

Request Review

CloudSection lost its heading, feature grid and capability ticker, but
the rules that styled them stayed behind: 20 dead classes across 475
lines, against 6 that are still used.

That was worse than clutter. `.featureTitle` carried a declaration block
byte-identical to the live `.contactText`, so an edit matched on either
rule's body hit two places, and a find-and-replace could silently
restyle the dead one while leaving the live one alone.

Verified by comparing the surviving rules against the original file
rather than by eye: all 10 rules touching a live class are unchanged,
with none dropped, added or altered. 475 lines to 95.

Also gives the contact block room above and below, now that it leads the
section rather than closing it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

3 participants