web2-client/src/pages/admin/config.ts

39 lines
2.1 KiB
TypeScript

import type { ReactNode } from "react";
export type AdminSectionId =
| "overview"
| "storage"
| "uploads"
| "events"
| "users"
| "licenses"
| "stars"
| "system"
| "blockchain"
| "nodes"
| "status";
export type AdminSection = {
id: AdminSectionId;
label: string;
description: string;
path: string;
icon?: ReactNode;
};
export const ADMIN_SECTIONS: AdminSection[] = [
{ id: "overview", label: "Обзор", description: "Краткий срез состояния узла, окружения и служб", path: "overview" },
{ id: "storage", label: "Хранилище", description: "Загруженность диска и директории контента", path: "storage" },
{ id: "uploads", label: "Загрузки", description: "Отслеживание статуса загрузок и деривативов", path: "uploads" },
{ id: "events", label: "События", description: "Журнал действий ноды и сети", path: "events" },
{ id: "users", label: "Пользователи", description: "Мониторинг пользователей, кошельков и активности", path: "users" },
{ id: "licenses", label: "Лицензии", description: "Статус лицензий и фильтрация по типам", path: "licenses" },
{ id: "stars", label: "Платежи Stars", description: "Управление счетами и анализ платежей", path: "stars" },
{ id: "system", label: "Система", description: "Настройки окружения и состояние сервисов", path: "system" },
{ id: "blockchain", label: "Блокчейн", description: "История задач и метрики блокчейн-интеграции", path: "blockchain" },
{ id: "nodes", label: "Ноды", description: "Роли, версии и последнее появление узлов", path: "nodes" },
{ id: "status", label: "Статус & лимиты", description: "IPFS, очереди и лимиты синхронизации", path: "status" },
];
export const DEFAULT_ADMIN_SECTION = ADMIN_SECTIONS[0];