mirror of
https://github.com/hanzo-apps/hanzo.ai.git
synced 2026-10-30 14:58:08 +00:00
pay sends a buyer with no session to /login with the checkout as `next`. That page is now the checkout's first step: - /login for a checkout carrying a coupon becomes /signup before it paints (lib/auth/sale EARLY); the page opens in create-account mode, says the offer across the top in pay's words from commerce's quote, drops the eyebrow and the demo, and draws pay's 56px controls at 1rem. "I already have an account" switches the mode in place. - /login and /signup are one page (components/auth/page.tsx); the switch between them carries the whole query, so `next` and everything in it survives a change of mind. - Signed in, a checkout chosen before signing in is opened as it was asked for (components/onboarding/flow.tsx), with the organization worked in and a coupon the tab keeps added only where it names none. The terms page stays for an account a provider made a moment ago, which has accepted none on record, and returns to the checkout; billing is not asked. Free chosen earlier in the tab no longer skips that page for a checkout. - Try again after a refused sign-in carries the destination as `next`. - /pricing's paid plans read "Get <plan>" and open the sign-up carrying pay's card step; signed in, the picker, which opens it with nothing to press unless terms are owed. A team's plan still names its team first. A catalog row's own link is kept only when it is a page on this site. - Home's Try Hanzo brings the hero's sign-up into view and focuses it when the panel is on the page. e2e/gates/sale.spec.ts holds the chain; e2e/campaign.spec.ts drives the live offer link up to IAM's authorize. Co-authored-by: Hanzo Dev <[email protected]>