From bc0be4f92a8c57da720449c726cf244a85932701 Mon Sep 17 00:00:00 2001 From: soxa <6390896+Soxasora@users.noreply.github.com> Date: Sat, 12 Apr 2025 21:23:08 +0200 Subject: [PATCH] enhance: helpful error message on login (#2094) * enhance: helpful error message on login * better message, don't edit original message * fix comment placement --- components/login.js | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/components/login.js b/components/login.js index ed3409cc..51f91594 100644 --- a/components/login.js +++ b/components/login.js @@ -12,6 +12,7 @@ import { OverlayTrigger, Tooltip } from 'react-bootstrap' import { datePivot } from '@/lib/time' import * as cookie from 'cookie' import { cookieOptions } from '@/lib/auth' +import Link from 'next/link' export function EmailLoginForm ({ text, callbackUrl, multiAuth }) { const disabled = multiAuth @@ -52,12 +53,26 @@ const authErrorMessages = { default: 'Auth failed. Try again or choose a different method.' } -export function authErrorMessage (error) { - return error && (authErrorMessages[error] ?? authErrorMessages.default) +export function authErrorMessage (error, signin) { + if (!error) return null + + const message = error && (authErrorMessages[error] ?? authErrorMessages.default) + // workaround for signin/signup awareness due to missing support from next-auth + if (signin) { + return ( + <> + {message} +
+ If you are new to Stacker News, please sign up first. + + ) + } + + return message } export default function Login ({ providers, callbackUrl, multiAuth, error, text, Header, Footer, signin }) { - const [errorMessage, setErrorMessage] = useState(authErrorMessage(error)) + const [errorMessage, setErrorMessage] = useState(authErrorMessage(error, signin)) const router = useRouter() // signup/signin awareness cookie