'use client'; import { useEffect } from 'react'; import { useRouter } from 'next/navigation'; import { useAuth } from '@/components/id/auth-provider'; import { AdminBadge } from '@/components/id/admin-badge'; import { AdminNav } from '@/components/id/admin-nav'; import { IdShell } from '@/components/id/shell'; export function AdminShell({ active, children }: { active: string; children: React.ReactNode }) { const router = useRouter(); const { user, isLoading } = useAuth(); useEffect(() => { if (!isLoading && user && !user.canAccessAdmin) { router.replace('/'); } }, [isLoading, router, user]); if (isLoading || !user) { return ( Загрузка админ-панели... ); } if (!user.canAccessAdmin) { return null; } return ( Админ-панель Управление пользователями, OAuth-приложениями и правами доступа {children} ); }
Управление пользователями, OAuth-приложениями и правами доступа