diff --git a/src/pages/auth/signup.tsx b/src/pages/auth/signup.tsx index 8013a32..6d486dc 100644 --- a/src/pages/auth/signup.tsx +++ b/src/pages/auth/signup.tsx @@ -9,7 +9,7 @@ import { getSession } from 'next-auth/react'; type SignUpPageProps = object // Keine spezifischen Props vom Server benötigt const SignUpPage: NextPage = () => { - const { status } = useSession(); + const {status } = useSession(); const router = useRouter(); const [name, setName] = useState(''); @@ -67,23 +67,20 @@ const SignUpPage: NextPage = () => { } setSuccessMessage(data.message + ' Du wirst in Kürze zur Anmeldung weitergeleitet.'); - // Kurze Verzögerung vor der Weiterleitung, damit der Benutzer die Nachricht lesen kann setTimeout(() => { router.push('/auth/signin'); }, 3000); - } catch (err: unknown) { - console.error('Registrierungsfehler (Client):', err); - // Der Fehler wird bereits im if (!response.ok) Block gesetzt, - // außer es ist ein Netzwerkfehler o.ä. - - if (typeof err === 'string') { - setError(err); - } else if (err instanceof Error) { - setError(err.message); + } catch (err: unknown) { // Fehlerbehandlung mit unknown + if (err instanceof Error) { + // Fehler wurde bereits im if(!response.ok) Block gesetzt, falls es ein API Fehler war + if (!error && fieldErrors.length === 0) { + setError(err.message); + } } else { setError('Ein unerwarteter Fehler ist aufgetreten.'); } + console.error('Registrierungsfehler (Client):', err); } finally { setIsLoading(false); } @@ -91,35 +88,35 @@ const SignUpPage: NextPage = () => { if (status === 'loading' || status === 'authenticated') { return ( -
-

Laden...

+
+

Laden...

); } return ( -
+
-

+

Neues Konto erstellen

-
+
{error && ( -
+
{error}
)} {successMessage && ( -
+
{successMessage}
)}
-
-
-
-
@@ -197,7 +194,7 @@ const SignUpPage: NextPage = () => { @@ -207,17 +204,17 @@ const SignUpPage: NextPage = () => {
-
+
- Oder + Oder
-

+

Bereits ein Konto?{' '} - + Hier anmelden

@@ -229,8 +226,6 @@ const SignUpPage: NextPage = () => { ); }; -// Serverseitige Prüfung, ob der Benutzer bereits angemeldet ist. -// Wenn ja, direkt zum Dashboard weiterleiten. export const getServerSideProps: GetServerSideProps = async (context) => { const session = await getSession(context); if (session) {