"use client"; import { Loader2 } from "lucide-react"; import { useRouter, useSearchParams } from "next/navigation"; import { Suspense, useEffect } from "react"; import GoogleLogo from "@/components/logo/google-logo"; import Logo from "@/components/logo/logo"; import { Button } from "@/components/ui/button"; import { DotPattern } from "@/components/ui/dot-pattern"; import { useAuth } from "@/contexts/auth-context"; import { cn } from "@/lib/utils"; import { useGetSettingsQuery } from "../api/queries/useGetSettingsQuery"; function LoginPageContent() { const { isLoading, isAuthenticated, isNoAuthMode, login } = useAuth(); const router = useRouter(); const searchParams = useSearchParams(); const { data: settings, isLoading: isSettingsLoading } = useGetSettingsQuery({ enabled: isAuthenticated || isNoAuthMode, }); const redirect = settings && !settings.edited ? "/onboarding" : searchParams.get("redirect") || "/chat"; // Redirect if already authenticated or in no-auth mode useEffect(() => { if (!isLoading && !isSettingsLoading && (isAuthenticated || isNoAuthMode)) { router.push(redirect); } }, [ isLoading, isSettingsLoading, isAuthenticated, isNoAuthMode, router, redirect, ]); if (isLoading || isSettingsLoading) { return (

Loading...

); } if (isAuthenticated || isNoAuthMode) { return null; // Will redirect in useEffect } return (

Welcome to OpenRAG

All your knowledge at your fingertips.

Systems Operational

Privacy Policy

); } export default function LoginPage() { return (

Loading...

} >
); }