copied the code from the working repo

This commit is contained in:
2024-11-30 16:00:48 +03:00
parent f22b92869b
commit 15ac0cb9b8
148 changed files with 23342 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
'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 <div>Loading...</div>; // Показываем загрузку
}
if (!isAuthenticated && pathname !== '/login') {
return null; // Не рендерим контент до завершения редиректа
}
return <>{children}</>;
};
export default AuthGuard;