diff --git a/packages/shared/src/components/auth/LoginForm.tsx b/packages/shared/src/components/auth/LoginForm.tsx index 2d3045933c..da80bf7674 100644 --- a/packages/shared/src/components/auth/LoginForm.tsx +++ b/packages/shared/src/components/auth/LoginForm.tsx @@ -143,6 +143,14 @@ function LoginForm({ )} + {hint && hint === labels.auth.error.socialAccountOnly && ( + + + It looks like you signed up with a different method. Try signing in + with your social provider instead. + + + )} ); } diff --git a/packages/shared/src/hooks/useLogin.ts b/packages/shared/src/hooks/useLogin.ts index f53a4f64ac..5c0d37ea5a 100644 --- a/packages/shared/src/hooks/useLogin.ts +++ b/packages/shared/src/hooks/useLogin.ts @@ -73,15 +73,20 @@ const useLogin = ({ }, onSuccess: async (res) => { if (res.error) { + const isSocialOnly = res.code === 'SOCIAL_ACCOUNT_ONLY'; + const displayedError = isSocialOnly + ? labels.auth.error.socialAccountOnly + : labels.auth.error.invalidEmailOrPassword; logEvent({ event_name: AuthEventNames.LoginError, extra: JSON.stringify({ error: res.error, - displayedError: labels.auth.error.invalidEmailOrPassword, + code: res.code, + displayedError, origin: 'betterauth email login', }), }); - setHint(labels.auth.error.invalidEmailOrPassword); + setHint(displayedError); return; } diff --git a/packages/shared/src/lib/labels.ts b/packages/shared/src/lib/labels.ts index b642a882b9..b488dfdb08 100644 --- a/packages/shared/src/lib/labels.ts +++ b/packages/shared/src/lib/labels.ts @@ -26,6 +26,8 @@ export const labels = { '❌ We got some unexpected error from our side, nothing to worry about. Please try again.', existingEmail: 'Email linked to different sign-in method. Please try another provider.', + socialAccountOnly: + 'It looks like you signed up with a different method. Try signing in with your social provider instead.', }, }, referral: {