redirect authenticated users from landing, login, and register to dashboard

This commit is contained in:
CREDO23 2026-03-30 21:02:03 +02:00
parent 1fd3a36c57
commit c3bd035e6d
3 changed files with 27 additions and 1 deletions

View file

@ -1,13 +1,14 @@
"use client";
import { AnimatePresence, motion } from "motion/react";
import { useSearchParams } from "next/navigation";
import { useRouter, useSearchParams } from "next/navigation";
import { useTranslations } from "next-intl";
import { Suspense, useEffect, useState } from "react";
import { toast } from "sonner";
import { Logo } from "@/components/Logo";
import { useGlobalLoadingEffect } from "@/hooks/use-global-loading";
import { getAuthErrorDetails, shouldRetry } from "@/lib/auth-errors";
import { getBearerToken } from "@/lib/auth-utils";
import { AUTH_TYPE } from "@/lib/env-config";
import { AmbientBackground } from "./AmbientBackground";
import { GoogleLoginButton } from "./GoogleLoginButton";
@ -16,11 +17,19 @@ import { LocalLoginForm } from "./LocalLoginForm";
function LoginContent() {
const t = useTranslations("auth");
const tCommon = useTranslations("common");
const router = useRouter();
const [authType, setAuthType] = useState<string | null>(null);
const [isLoading, setIsLoading] = useState(true);
const [urlError, setUrlError] = useState<{ title: string; message: string } | null>(null);
const searchParams = useSearchParams();
useEffect(() => {
if (getBearerToken()) {
router.replace("/dashboard");
return;
}
}, [router]);
useEffect(() => {
// Check for various URL parameters that might indicate success or error states
const registered = searchParams.get("registered");