From 87f08e78527b7dd35e3da9ff11f09b2c9b75f3a3 Mon Sep 17 00:00:00 2001 From: ciregenz Date: Thu, 23 Jul 2026 18:39:38 -0700 Subject: [PATCH] [eric] onboarding: sign-in beat restyled to the Claude/ChatGPT auth grammar --- .../OnboardingV3/beats/BeatSignIn.tsx | 77 +++++++++++-------- 1 file changed, 47 insertions(+), 30 deletions(-) diff --git a/frontend/src/app/components/OnboardingV3/beats/BeatSignIn.tsx b/frontend/src/app/components/OnboardingV3/beats/BeatSignIn.tsx index 21ae6990..260a1bbf 100644 --- a/frontend/src/app/components/OnboardingV3/beats/BeatSignIn.tsx +++ b/frontend/src/app/components/OnboardingV3/beats/BeatSignIn.tsx @@ -49,8 +49,8 @@ const BeatSignIn: React.FC<{ }; const rows: Array<{ id: string; name: string; icon: React.ReactNode; onClick: () => void; hint?: string }> = [ - { id: 'google', name: 'Continue with Google', icon: , onClick: onGoogle, hint: waitingGoogle && !signedIn ? 'waiting for your browser...' : undefined }, - { id: 'email', name: 'Continue with email', icon: , onClick: () => { if (!signedIn) setEmailOpen(true); } }, + { id: 'google', name: 'Continue with Google', icon: , onClick: onGoogle, hint: waitingGoogle && !signedIn ? 'Waiting for your browser...' : undefined }, + { id: 'email', name: 'Continue with email', icon: , onClick: () => { if (!signedIn) setEmailOpen(true); } }, ]; return ( @@ -65,42 +65,59 @@ const BeatSignIn: React.FC<{ wide logo={} > -
- {rows.map((row, i) => ( - + {signedIn ? ( + // Claude/ChatGPT-style done state: one quiet confirmation card, the buttons step aside. + - - {row.name} - {row.hint && {row.hint}} - - {row.icon} + - - ))} - {signedIn ? ( -
- - Signed in{userEmail ? ` as ${userEmail}` : ''} -
+ + You're signed in + {userEmail && ( + {userEmail} + )} + + ) : ( -
- Sign in to continue. -
+ <> + {rows.map((row, i) => ( + // The Claude/ChatGPT auth grammar: full-width white button, brand mark on the left, + // label centered, thin border, generous height. No decoration doing the talking. + + {row.icon} + + {row.hint ? row.hint : row.name} + + + ))} +
+ Sign in to continue. +
+ )}
{emailOpen && !signedIn && setEmailOpen(false)} />}