Skip to content

Commit 791ed5f

Browse files
committed
cleanup: UI
1 parent 64d87b4 commit 791ed5f

File tree

2 files changed

+56
-81
lines changed

2 files changed

+56
-81
lines changed

apps/dashboard/app/(auth)/login/page.tsx

Lines changed: 19 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -33,46 +33,28 @@ function LoginPage() {
3333
setLastUsed(localStorage.getItem('lastUsedLogin'));
3434
}, []);
3535

36-
const handlePostAuthCallback = () => {
37-
const callbackUrl = searchParams.get('callback');
38-
if (callbackUrl) {
39-
router.push(callbackUrl);
40-
}
41-
};
42-
43-
const handleGoogleLogin = () => {
36+
const handleSocialLogin = (provider: 'github' | 'google') => {
4437
setIsLoading(true);
45-
signIn.social({
46-
provider: 'google',
47-
callbackURL: defaultCallbackUrl,
48-
newUserCallbackURL: '/onboarding',
49-
fetchOptions: {
50-
onSuccess: () => {
51-
localStorage.setItem('lastUsedLogin', 'google');
52-
handlePostAuthCallback();
53-
},
54-
onError: () => {
55-
setIsLoading(false);
56-
toast.error('Google login failed. Please try again.');
57-
},
58-
},
59-
});
60-
};
6138

62-
const handleGithubLogin = () => {
63-
setIsLoading(true);
39+
const callbackUrl = searchParams.get('callback');
40+
const finalCallbackUrl = callbackUrl || defaultCallbackUrl;
41+
6442
signIn.social({
65-
provider: 'github',
66-
callbackURL: defaultCallbackUrl,
43+
provider,
44+
callbackURL: finalCallbackUrl,
6745
newUserCallbackURL: '/onboarding',
6846
fetchOptions: {
6947
onSuccess: () => {
70-
localStorage.setItem('lastUsedLogin', 'github');
71-
handlePostAuthCallback();
48+
localStorage.setItem('lastUsedLogin', provider);
49+
if (callbackUrl) {
50+
router.push(callbackUrl);
51+
}
7252
},
7353
onError: () => {
7454
setIsLoading(false);
75-
toast.error('GitHub login failed. Please try again.');
55+
toast.error(
56+
`${provider === 'github' ? 'GitHub' : 'Google'} login failed. Please try again.`
57+
);
7658
},
7759
},
7860
});
@@ -94,7 +76,10 @@ function LoginPage() {
9476
fetchOptions: {
9577
onSuccess: () => {
9678
localStorage.setItem('lastUsedLogin', 'email');
97-
handlePostAuthCallback();
79+
const callbackUrl = searchParams.get('callback');
80+
if (callbackUrl) {
81+
router.push(callbackUrl);
82+
}
9883
},
9984
onError: (error) => {
10085
setIsLoading(false);
@@ -135,7 +120,7 @@ function LoginPage() {
135120
<Button
136121
className="relative flex h-11 w-full cursor-pointer items-center justify-center transition-all duration-200 hover:bg-primary/5"
137122
disabled={isLoading}
138-
onClick={handleGithubLogin}
123+
onClick={() => handleSocialLogin('github')}
139124
type="button"
140125
variant="outline"
141126
>
@@ -150,7 +135,7 @@ function LoginPage() {
150135
<Button
151136
className="relative flex h-11 w-full cursor-pointer items-center justify-center transition-all duration-200 hover:bg-primary/5"
152137
disabled={isLoading}
153-
onClick={handleGoogleLogin}
138+
onClick={() => handleSocialLogin('google')}
154139
type="button"
155140
variant="outline"
156141
>

apps/dashboard/app/(auth)/register/page.tsx

Lines changed: 37 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)