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