feat(website): add EmailOctopus join page and flip CTAs#407
Open
yagudaev wants to merge 1 commit into
Open
Conversation
Adds /join with a signup-style email capture, a POST /api/subscribe route that talks to EmailOctopus v2, and promotes Join to the primary CTA across the homepage with Download kept as a secondary option. The subscribe route returns 501 until EMAIL_OCTOPUS_API_KEY and EMAIL_OCTOPUS_LIST_ID are set, matching the rest of the website's graceful-degrade pattern. https://claude.ai/code/session_01LtVvWyMttH3PPRARNbQae8
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Summary
/joinsignup-style page with an inline email form that posts to a newPOST /api/subscriberoute, which subscribes the address to EmailOctopus via the v2 API./api/subscribereturns501 not_configureduntilEMAIL_OCTOPUS_API_KEYandEMAIL_OCTOPUS_LIST_IDare set, matching the rest of the site's graceful-degrade pattern..env.exampledocuments both.Notes for review
EMAIL_OCTOPUS_API_KEYandEMAIL_OCTOPUS_LIST_IDin Vercel (and.env.localfor dev) to turn it on.cta_clicked,join_submitted,join_succeeded, andjoin_failedevents fire from the new flow so we can measure conversion.yarn lintin the sandbox (corepack can't reachrepo.yarnpkg.comto fetch Yarn 4). Please runyarn lintand the dev server locally to confirm.Test plan
yarn lintandyarn buildpass inwebsite/./join, submit a valid email, verify the inline error surfaces (501 →upstream_error-class message).EMAIL_OCTOPUS_API_KEYandEMAIL_OCTOPUS_LIST_IDset: submit a real email, verify the contact lands on the EmailOctopus list and the success state renders.foo) — inline validation message appears and no network call is needed (but server still rejects)./joinand/downloadrespectively.https://claude.ai/code/session_01LtVvWyMttH3PPRARNbQae8
Generated by Claude Code