'use client'; import { useRouter, usePathname } from 'next/navigation'; import { useEffect } from 'react'; import { useAuth } from '@/fsd/app/provider/AuthContext'; const AuthGuard: React.FC<{ children: React.ReactNode }> = ({ children }) => { const { isAuthenticated, loading } = useAuth(); const router = useRouter(); const pathname = usePathname(); useEffect(() => { if (!loading) { if (!isAuthenticated && pathname !== '/login') { router.replace('/login'); } } }, [loading, isAuthenticated, pathname, router]); if (loading) { return
Loading...
; // Показываем загрузку } if (!isAuthenticated && pathname !== '/login') { return null; // Не рендерим контент до завершения редиректа } return <>{children}; }; export default AuthGuard;