From 95793d061bad82ed665e16d0923d3464bb19236e Mon Sep 17 00:00:00 2001 From: Mark Henderson Date: Fri, 1 May 2026 13:12:41 -0700 Subject: [PATCH] fix(auth): make signup path obvious for first-time users The /auth page was titled 'Welcome back' which made first-time visitors think they needed an existing account. Google OAuth already creates accounts on first sign-in, so this was a copy problem, not a missing flow. - Default copy is now neutral ('Sign in or sign up'); explicitly notes that an account is auto-created on first sign-in. - All marketing 'Get started' / 'Start free' CTAs now link to /auth?new=1 which switches the page to 'Create your account' copy. Plain 'Log in' links keep the neutral default. Co-authored-by: Cursor --- app/components/NextAuthComponent.tsx | 14 ++++++++++++-- marketing/components/cta.tsx | 2 +- marketing/components/footer.tsx | 2 +- marketing/components/hero.tsx | 2 +- marketing/components/justine/JustineHomePage.tsx | 4 ++-- marketing/components/justine/JustineNav.tsx | 4 ++-- 6 files changed, 19 insertions(+), 9 deletions(-) diff --git a/app/components/NextAuthComponent.tsx b/app/components/NextAuthComponent.tsx index ca8d7465..19f2debb 100644 --- a/app/components/NextAuthComponent.tsx +++ b/app/components/NextAuthComponent.tsx @@ -60,11 +60,21 @@ function NextAuthForm() { } }; + // Detect new-vs-returning purely from local search params; we + // don't have a session at this render path, but the homepage + // sends "Get started" links with `?new=1` and "Sign in" links + // without it. Fall back to neutral copy that works for both. + const isNewUser = searchParams.get("new") === "1"; + const title = isNewUser ? "Create your account" : "Sign in or sign up"; + const subtitle = isNewUser + ? "Continue with Google to set up your Vibn workspace." + : "Continue with Google. New here? An account is created automatically on first sign-in."; + return (
-

Welcome back

-

Sign in with Google to open your workspace.

+

{title}

+

{subtitle}

{errorHint && (
- + @@ -505,7 +505,7 @@ export function JustineHomePage() {

Thousands of ideas never make it past a spreadsheet. Yours doesn't have to be one of them.

- + diff --git a/marketing/components/justine/JustineNav.tsx b/marketing/components/justine/JustineNav.tsx index 04f0ceef..fdb856b7 100644 --- a/marketing/components/justine/JustineNav.tsx +++ b/marketing/components/justine/JustineNav.tsx @@ -66,7 +66,7 @@ export function JustineNav() { Log in - + @@ -103,7 +103,7 @@ export function JustineNav() { Log in
- +