'use client'; import type { ReactNode } from 'react'; import { useEffect } from 'react'; import { useRouter, useSearchParams } from 'next/navigation'; import { LoadingState } from '@/components/feedback/loading-state'; import { useAuth } from '@/components/providers/auth-provider'; interface PublicAuthGuardProps { children: ReactNode; } export function PublicAuthGuard({ children }: PublicAuthGuardProps) { const router = useRouter(); const searchParams = useSearchParams(); const { isAuthenticated, isLoading } = useAuth(); useEffect(() => { if (!isLoading && isAuthenticated) { const redirect = searchParams?.get('redirect'); router.replace(redirect || '/'); } }, [isAuthenticated, isLoading, router, searchParams]); if (isLoading) { return ; } if (isAuthenticated) { return null; } return <>{children}; }