Skip to content

feat(landing): horizontal solo hero, real QR, Google Fonts, composable button#205

Merged
saltyskip merged 1 commit into
mainfrom
feat/landing-config-fonts-buttons
Jun 16, 2026
Merged

feat(landing): horizontal solo hero, real QR, Google Fonts, composable button#205
saltyskip merged 1 commit into
mainfrom
feat/landing-config-fonts-buttons

Conversation

@saltyskip

Copy link
Copy Markdown
Owner

Follow-on to #204, incorporating review feedback.

Changes

  • Horizontal solo hero — when there's no agent panel, the human side becomes a two-column hero (content ⟷ QR) instead of a tall centered stack, using the full width. Split mode stays a centered column (page is already horizontal); mobile stacks.
  • Real QR code — scannable, reuses the qr-code-styling crate (qr::qr_svg), encodes the link's canonical URL. Desktop-only (hidden on mobile, where the visitor's already on their phone).
  • Google Fontsfont_family (any catalog name, validated to letters/digits/spaces) loads via <link> over the preset's system-font fallback. Went direct-to-Google per the cost/benefit discussion.
  • Composable buttonButtonStyle { fill, elevation, radius }: orthogonal property enums (Solid/Tint/Outline/Gradient · Flat/Soft/Glow · Sharp/Rounded/Pill) instead of named presets, so brands assemble their own look and every axis stays constrained (no raw CSS). elevation is reused by the app tile so depth is one coherent property. Default button is now a solid fill (dropped the always-on gradient).
  • OpenAPI — register the Tenant tag (+ Configuration tag group) so /v1/tenant/branding shows in the API reference; register ButtonStyle/ButtonFill/Elevation schemas.

Verified

Rendered real server output across desktop solo (two-column + QR), split, and true-390 mobile; Google font (Space Grotesk) and composable button (pill/solid/glow) confirmed in the render. fmt + clippy -D warnings clean. Full cargo test running post-push per the CLAUDE.md CI rule.

🤖 Generated with Claude Code

…e button

Builds on the brand-showcase redesign with the feedback from review:

- Solo mode (no agent panel) is now a horizontal two-column hero (content +
  QR) instead of one tall centered stack, making use of the full width. Split
  mode stays a centered column (the page is already horizontal there). Mobile
  stacks to a single centered column.
- Real, scannable QR (reuses the qr-code-styling crate via qr::qr_svg) encoding
  the link's canonical URL; desktop-only, hidden on mobile.
- Google Fonts: `font_family` (any catalog name, validated to letters/digits/
  spaces) loads via <link> over the preset's system-font fallback stack.
- Composable button styling: `ButtonStyle { fill, elevation, radius }` —
  orthogonal property enums (Solid/Tint/Outline/Gradient · Flat/Soft/Glow ·
  Sharp/Rounded/Pill) instead of named presets. Elevation is reused by the app
  tile so page depth is one coherent property. Default button is a solid fill
  (dropped the always-on gradient).
- OpenAPI: register the "Tenant" tag (+ Configuration tag group) so the
  /v1/tenant/branding route shows in the API reference; register ButtonStyle /
  ButtonFill / Elevation schemas.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
rift Ready Ready Preview, Comment Jun 16, 2026 1:10am

Request Review

@saltyskip saltyskip merged commit 620ab8a into main Jun 16, 2026
3 of 4 checks passed
@saltyskip saltyskip deleted the feat/landing-config-fonts-buttons branch June 16, 2026 01:10
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.

1 participant