Skip to content

feat(website): whitepaper block and toast on the form kit; old form CSS removed - #1026

Merged
blove merged 5 commits into
mainfrom
blove/lead-forms-whitepaper-pr3
Sep 6, 2026
Merged

feat(website): whitepaper block and toast on the form kit; old form CSS removed#1026
blove merged 5 commits into
mainfrom
blove/lead-forms-whitepaper-pr3

Conversation

@blove

@blove blove commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

PR 3 of 3 for docs/superpowers/specs/2026-09-03-lead-forms-system-design.md. The whitepaper signup and the announcement toast compose the form kit; the last of the per-surface form CSS is deleted.

Summary

  • WhitePaperForm (the shared component feat(website): homepage restructure (live-stage plan 1 of 3) #1024 extracted, used by the homepage teams block and by WhitePaperBlock on the library pages) rebuilds on the kit: label above the field, inline submit button matching the control height, validation on blur, focus on the field after an invalid submit, failures reported in a failure block, and the direct PDF download link kept. WhitePaperBlock is unchanged from main and keeps rendering the shared form.
  • AnnouncementToast composes the same kit in a compact row with the same copy; failures are now reported instead of swallowed.
  • chrome.css and landing.css lose the old per-surface form rules; forms.css documents the row-button specificity tie with ui.css (forms.css wins only by import order).
  • Specs: an invalid submit never posts; the toast spec proves focus on invalid submit; the teams block spec follows the kit's "Work email" label.

Rebased onto main after #1024 (homepage restructure). The only conflict was WhitePaperBlock.tsx; resolved by taking main's block and porting the kit form into the shared WhitePaperForm with its surface, sourceSection, and idPrefix props, so both call sites get it.

Gates (Task 16, rerun after the rebase)

  • Sweep for old form CSS, components, and copy (wp-email-input, Download (free), Email address label): clean. The only earlier hit was the contact-form-growth-disclosure element id inside the kit-based ContactForm from feat(website): contact page on the form kit; enterprise form merges into it #995, which is an id, not retired CSS.
  • npx nx lint website: 0 errors, pre-existing warnings only.
  • npx nx test website (as CI runs it, from the repo root): pass.
  • GROWTH_FORM_POLICY=growth_v1 npx nx build website: pass.
  • WEBSITE_E2E_MODE=production GROWTH_FORM_POLICY=growth_v1 npx nx e2e website --grep "whitepaper|landing page|contact page|pricing|footer newsletter|privacy policy|public copy boundary|canonical policy surface": see the latest comment for the rerun result.
  • Visual pass before the rebase (dev server, measured via DOM): label above the field, input and button both 44px on one row, error text and focus on invalid submit; contact enterprise intent shows Company and Timeline; pricing renders the enterprise band with no lead form and no overflow; footer input 183px with 36px controls. The toast could not be triggered in the hidden browser pane because its scroll check runs on requestAnimationFrame; it is covered by AnnouncementToast.spec.tsx.

Task 16 Step 5 (manual production gate: one real submission per changed surface, confirm in Neon and PostHog, then delete the synthetic contact) remains after deploy.

🤖 Generated with Claude Code

@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated
threadplane Ready Ready Preview Sep 6, 2026 1:20am UTC

Request Review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

blove and others added 5 commits September 5, 2026 18:14
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…cked download-link margin

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…note the row-button specificity tie

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@blove

blove commented Sep 6, 2026

Copy link
Copy Markdown
Contributor Author

Rebased onto main after #1024; WhitePaperBlock.tsx conflict resolved by porting the kit form into the shared WhitePaperForm. Gates rerun on the rebased head: lint 0 errors, nx test website pass, prod build pass, production-mode e2e subset (whitepaper, landing page, contact, pricing, footer newsletter, privacy, public-copy gates): 33 passed.

@blove
blove force-pushed the blove/lead-forms-whitepaper-pr3 branch from 32ff1e9 to 09a90c8 Compare September 6, 2026 01:17
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove merged commit bab8fe3 into main Sep 6, 2026
32 checks passed
@blove
blove deleted the blove/lead-forms-whitepaper-pr3 branch September 6, 2026 01:35
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