'use client'; import { useRouter } from 'next/navigation'; import { useEffect } from 'react'; import { useSession } from '@/lib/auth-client'; interface AuthGuardProps { children: React.ReactNode; } export function AuthGuard({ children }: AuthGuardProps): React.ReactElement | null { const { data: session, isPending } = useSession(); const router = useRouter(); useEffect(() => { if (!isPending && !session) { router.replace('/login'); } }, [isPending, session, router]); if (isPending) { return (
Loading...
); } if (!session) { return null; } return <>{children}; }