"use client"; import { useAuth } from "@/context/AuthContext"; import { useRouter, usePathname } from "next/navigation"; import { useEffect } from "react"; export default function AuthGuard({ children }: { children: React.ReactNode }) { const { user, loading } = useAuth(); const router = useRouter(); const pathname = usePathname(); useEffect(() => { if (!loading) { const isAuthPage = pathname?.startsWith("/auth"); const isCatalogRoot = pathname === "/"; if (!user && !isAuthPage && !isCatalogRoot) { router.push("/auth/login"); } else if (user && isAuthPage) { router.push("/"); } } }, [user, loading, pathname, router]); if (loading) { return (
); } const isAuthPage = pathname?.startsWith("/auth"); const isCatalogRoot = pathname === "/"; if (!user && !isAuthPage && !isCatalogRoot) { return null; } return <>{children}; }