import type { ReactNode } from 'react'
import { Navigate } from 'react-router-dom'
import { useAuth } from '@/auth/useAuth'

/**
 * Route-guard админки: доступ только у пользователей с ролью
 * `admin`. Оборачивается ВНУТРИ `RequireAuth` (сессия уже гарантированно
 * восстановлена и `user` заполнен) — без сессии сюда не попасть.
 */
export function RequireAdmin({ children }: { children: ReactNode }) {
  const { user } = useAuth()

  if (user?.role !== 'admin') {
    return <Navigate to="/lobby" replace />
  }

  return <>{children}</>
}
