'use client'; import { useEffect } from 'react'; import { useRouter } from 'next/navigation'; import { useAuth } from './AuthContext'; interface ProtectedRouteProps { children: React.ReactNode; } export default function ProtectedRoute({ children }: ProtectedRouteProps) { const { isAuthenticated, isLoading } = useAuth(); const router = useRouter(); useEffect(() => { if (!isLoading && !isAuthenticated) { router.push('/login'); } }, [isAuthenticated, isLoading, router]); // Show nothing while checking authentication if (isLoading) { return (
); } // If not authenticated, don't render children (will redirect in useEffect) if (!isAuthenticated) { return null; } // If authenticated, render children return <>{children}; }