@@ -54,9 +54,15 @@ function RegisterPageContent() {
5454 setFormData ( ( prev ) => ( { ...prev , [ name ] : value } ) ) ;
5555 } ;
5656
57- const handlePostAuthCallback = ( ) => {
57+ const handleAuthSuccess = ( ) => {
5858 if ( callbackUrl ) {
59+ toast . success ( 'Account created! Completing integration...' ) ;
5960 router . push ( callbackUrl ) ;
61+ } else if ( selectedPlan ) {
62+ localStorage . setItem ( 'pendingPlanSelection' , selectedPlan ) ;
63+ router . push ( `/billing?tab=plans&plan=${ selectedPlan } ` ) ;
64+ } else {
65+ router . push ( '/websites' ) ;
6066 }
6167 } ;
6268
@@ -85,28 +91,18 @@ function RegisterPageContent() {
8591 password : formData . password ,
8692 name : formData . name ,
8793 fetchOptions : {
88- onSuccess : ( ctx ) => {
89- const authToken = ctx . response . headers . get ( 'set-auth-token' ) ;
90- if ( authToken ) {
91- localStorage . setItem ( 'authToken' , authToken ) ;
92- }
93-
94+ onSuccess : ( ) => {
9495 if ( callbackUrl ) {
95- toast . success ( 'Account created! Completing integration...' ) ;
96- handlePostAuthCallback ( ) ;
97- return ;
98- }
99-
100- toast . success (
101- 'Account created! Please check your email to verify your account.'
102- ) ;
103- setRegistrationStep ( 'verification-needed' ) ;
104-
105- // Store plan selection for post-verification redirect
106- if ( selectedPlan ) {
107- localStorage . setItem ( 'pendingPlanSelection' , selectedPlan ) ;
96+ handleAuthSuccess ( ) ;
97+ } else {
98+ toast . success (
99+ 'Account created! Please check your email to verify your account.'
100+ ) ;
101+ setRegistrationStep ( 'verification-needed' ) ;
102+ if ( selectedPlan ) {
103+ localStorage . setItem ( 'pendingPlanSelection' , selectedPlan ) ;
104+ }
108105 }
109- // router.push(`/verify?email=${encodeURIComponent(formData.email)}`);
110106 } ,
111107 } ,
112108 } ) ;
@@ -142,33 +138,27 @@ function RegisterPageContent() {
142138 const handleSocialLogin = async ( provider : 'github' | 'google' ) => {
143139 setIsLoading ( true ) ;
144140
145- await authClient . signIn . social ( {
146- provider,
147- callbackURL : callbackUrl || '/websites' ,
148- fetchOptions : {
149- onSuccess : ( ctx ) => {
150- const authToken = ctx . response . headers . get ( 'set-auth-token' ) ;
151- if ( authToken ) {
152- localStorage . setItem ( 'authToken' , authToken ) ;
153- }
154-
155- toast . success ( 'Registration successful!' ) ;
156-
157- // Redirect to billing with plan selection if plan was specified
158- if ( selectedPlan ) {
159- localStorage . setItem ( 'pendingPlanSelection' , selectedPlan ) ;
160- router . push ( `/billing?tab=plans&plan=${ selectedPlan } ` ) ;
161- } else {
162- router . push ( '/websites' ) ;
163- }
164- } ,
165- onError : ( ) => {
166- toast . error ( 'Login failed. Please try again.' ) ;
141+ try {
142+ await authClient . signIn . social ( {
143+ provider,
144+ callbackURL : callbackUrl || '/websites' ,
145+ fetchOptions : {
146+ onSuccess : ( ) => {
147+ toast . success ( 'Registration successful!' ) ;
148+ handleAuthSuccess ( ) ;
149+ } ,
150+ onError : ( ) => {
151+ toast . error (
152+ `${ provider === 'github' ? 'GitHub' : 'Google' } login failed. Please try again.`
153+ ) ;
154+ setIsLoading ( false ) ;
155+ } ,
167156 } ,
168- } ,
169- } ) ;
170-
171- setIsLoading ( false ) ;
157+ } ) ;
158+ } catch ( error ) {
159+ toast . error ( 'Login failed. Please try again.' ) ;
160+ setIsLoading ( false ) ;
161+ }
172162 } ;
173163
174164 // Render header content based on current registration step
0 commit comments