diff --git a/apps/web/pages/auth/login.tsx b/apps/web/pages/auth/login.tsx index f599ab6d..52c8b601 100644 --- a/apps/web/pages/auth/login.tsx +++ b/apps/web/pages/auth/login.tsx @@ -45,6 +45,8 @@ export default function Login({ const { t } = useLocale(); const router = useRouter(); const form = useForm(); + const { formState } = form; + const { isSubmitting } = formState; const [twoFactorRequired, setTwoFactorRequired] = useState(false); const [errorMessage, setErrorMessage] = useState(null); @@ -97,26 +99,27 @@ export default function Login({
{ + handleSubmit={async (values) => { + setErrorMessage(null); telemetry.withJitsu((jitsu) => jitsu.track(telemetryEventTypes.login, collectPageParameters())); - signIn<"credentials">("credentials", { ...values, callbackUrl, redirect: false }) - .then((res) => { - if (!res) setErrorMessage(errorMessages[ErrorCode.InternalServerError]); - // we're logged in! let's do a hard refresh to the desired url - else if (!res.error) router.push(callbackUrl); - // reveal two factor input if required - else if (res.error === ErrorCode.SecondFactorRequired) setTwoFactorRequired(true); - // fallback if error not found - else setErrorMessage(errorMessages[res.error] || t("something_went_wrong")); - }) - .catch(() => setErrorMessage(errorMessages[ErrorCode.InternalServerError])); + const res = await signIn<"credentials">("credentials", { + ...values, + callbackUrl, + redirect: false, + }); + if (!res) setErrorMessage(errorMessages[ErrorCode.InternalServerError]); + // we're logged in! let's do a hard refresh to the desired url + else if (!res.error) router.push(callbackUrl); + // reveal two factor input if required + else if (res.error === ErrorCode.SecondFactorRequired) setTwoFactorRequired(true); + // fallback if error not found + else setErrorMessage(errorMessages[res.error] || t("something_went_wrong")); }} data-testid="login-form">
@@ -157,13 +160,7 @@ export default function Login({ {errorMessage && }
-