diff --git a/app/page.tsx b/app/page.tsx index 717b16c..a25c253 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,30 +1,25 @@ import type { Metadata } from "next"; -import { redirect } from "next/navigation"; +import { AuthRedirect } from "@/components/auth-redirect"; import { Footer } from "@/components/site/footer"; import { HomeHero } from "@/components/site/home-hero"; -import { getSession } from "@/lib/auth"; export const metadata: Metadata = { title: "Free Google sign-in for Ghost blogs", description: "Give Ghost members Google sign-in without magic links." }; -export default async function HomePage({ +export default function HomePage({ searchParams }: { searchParams?: { toast?: string | string[] }; }) { - const session = await getSession(); - if (session) { - redirect("/dashboard"); - } - const toast = typeof searchParams?.toast === "string" ? searchParams.toast : null; return (
+ { + const checkAuth = async () => { + try { + const response = await fetch("/api/session"); + const data = (await response.json()) as { authenticated: boolean }; + if (data.authenticated) { + router.replace("/dashboard"); + } + } catch { + // Silently fail - user stays on homepage + } + }; + + void checkAuth(); + }, [router]); + + return null; +}