import {
  LayoutDashboard,
  Database,
  Boxes,
  Users,
  ScrollText,
  SlidersHorizontal,
  type LucideIcon,
} from 'lucide-react';

/**
 * Single source of truth for the admin/council navigation.
 *
 * Consumed by both `AdminLayout` (grouped left sidebar) and `DashboardPage` (hub cards)
 * so the shell stays in sync as slice-5 surfaces are ported in. `ready: false` items render
 * `ComingSoonPage` until their real feature page lands at the same route.
 *
 * Information architecture mirrors the DYD admin reference: three groups —
 * CHÍNH (core review workflow) · QUẢN LÝ (managed resources) · HỆ THỐNG (system ops).
 */
export type AdminNavGroup = 'CHÍNH' | 'QUẢN LÝ' | 'HỆ THỐNG';

/** Render order of the sidebar section headers. */
export const ADMIN_NAV_GROUPS: AdminNavGroup[] = ['CHÍNH', 'QUẢN LÝ', 'HỆ THỐNG'];

export interface AdminNavItem {
  to: string;
  /** Short label for the sidebar. */
  label: string;
  /** One-line description for the hub cards. */
  description: string;
  icon: LucideIcon;
  group: AdminNavGroup;
  /** Admin-only surfaces are hidden from the nav for non-admin (council/editor) users. */
  adminOnly: boolean;
  /** Whether the real feature page is wired (vs. a ComingSoon placeholder). */
  ready: boolean;
}

export const ADMIN_NAV: AdminNavItem[] = [
  // ── CHÍNH ──────────────────────────────────────────────────────────────
  {
    to: '/',
    label: 'Tổng quan',
    description: 'Bảng điều khiển quản trị · truy cập nhanh các chức năng',
    icon: LayoutDashboard,
    group: 'CHÍNH',
    adminOnly: false,
    ready: true,
  },
  {
    to: '/datasets',
    label: 'Kho dữ liệu lâm sàng',
    description: 'Toàn bộ bộ dữ liệu hình ảnh trên hệ thống',
    icon: Database,
    group: 'CHÍNH',
    adminOnly: true,
    ready: true,
  },
  {
    to: '/models',
    label: 'Mô hình ML',
    description: 'Quản lý mô hình học máy dùng chung',
    icon: Boxes,
    group: 'CHÍNH',
    adminOnly: true,
    ready: false,
  },
  // ── QUẢN LÝ ────────────────────────────────────────────────────────────
  {
    to: '/users',
    label: 'Người dùng',
    description: 'Quản lý tài khoản, hồ sơ và phân quyền',
    icon: Users,
    group: 'QUẢN LÝ',
    adminOnly: true,
    ready: false,
  },
  // ── HỆ THỐNG ───────────────────────────────────────────────────────────
  {
    to: '/system',
    label: 'Quản trị hệ thống',
    description: 'Cấu hình AI và ma trận phân quyền',
    icon: SlidersHorizontal,
    group: 'HỆ THỐNG',
    adminOnly: true,
    ready: false,
  },
  {
    to: '/audit',
    label: 'Nhật ký',
    description: 'Theo dõi hoạt động và lịch sử thao tác hệ thống',
    icon: ScrollText,
    group: 'HỆ THỐNG',
    adminOnly: true,
    ready: true,
  },
];
