Repository navigation
feat(home): hero CTA to the platform signup instead of the inline form - #189
Merged
Merged
Conversation
Owner feedback: the hero signup form took too much space. The hero now has a primary 'Create account' button to cloud.nan.builders/signup (carrying a valid ?plan= from the landing URL, legacy ?premium=1 -> plan=premium, resolved in SSR, no JS), a secondary 'Log in' button to cloud.nan.builders/ and one reassurance line. The models, footer and 404 CTAs link straight to the platform signup. Removes what only the form used: the hero form markup and script, the /api/signup Worker route (now a 404), lib/signupServer.ts, the no-JS 415 page, the client validation, their tests and i18n keys. lib/signup.ts keeps only the plan/link helpers used by hero, nav, pricing and the community page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ARCHITECTURE.md, README.md and .env.example no longer describe the hero form or /api/signup; CLOUD_API_URL is documented for the events pages only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner correction: the hero keeps only the headline/visual and the two buttons (Create account, Log in). Removes the line, its styles and the nan.hero.reassure key; the test now asserts it is gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
What
Owner feedback: the signup form in the landing hero took too much space. The hero now has no form: only the existing headline and visual (glitch, dithered GPU illustration unchanged) plus two buttons:
https://cloud.nan.builders/signup. A valid?plan=on the landing URL is carried through (community | inference | premium | workspace | space), and the legacy?premium=1maps toplan=premium. Anything else is dropped and never echoed into the link. This is resolved in SSR, so the hero ships no JS of its own.https://cloud.nan.builders/.The hero content is much shorter: the column is about 460px at 1440x900 and about 340-370px at 390px wide, versus roughly 1,000px with the form.
The models, footer and 404 CTAs, which pointed at the
#signuphero anchor, now link straight to the platform signup. Pricing and nav already did.Removed (dead code)
src/scripts/signup.ts)/api/signupWorker route (it is now a 404),src/lib/signupServer.ts, and the no-JS 415 page (src/lib/signupNoJs.ts)src/lib/signup.ts. It now keeps only the plan and link helpers used by the hero, nav, pricing and the community page.nan.hero.*form strings)A grep confirms nothing else imports them. The privacy page still describes the profile data collected on cloud.nan.builders, and that text is unchanged and still accurate.
CLOUD_API_URLis now documented only for the events pages, which still use it.Tests
Written first:
src/tests/landing/heroCta.test.ts?plan=carry-through, thepremium=1mapping, and that unknown plans are dropped;#signupor#waitlist.src/tests/landing/heroCta.server.test.tsruns a real Astro dev server:/,/es,/?plan=workspace,/es?premium=1and/?plan=gold;POST /api/signupreturns 404.openSignup.test.ts(models, footer and 404 go to the platform signup),lib/signup.test.ts, andmiddleware.test.ts.Results:
npm run build: passesnpx astro check: 0 errors, 0 warningsnpx vitest run: 85 files, 2446 tests, all passingDeploy
Do not merge without the owner's go-ahead. This site deploys to prod on merge. No env changes are needed.
/api/signupdisappears, but nothing on the platform calls it.🤖 Generated with Claude Code