import { CreditCard, LayoutDashboard, Settings, FileText, Users, Cpu, Megaphone, BarChart3, type LucideIcon } from 'lucide-react';

export interface AdminNavItem {
  labelKey: string;
  href: string;
  icon: LucideIcon;
}

export const adminNavItems: AdminNavItem[] = [
  { labelKey: 'admin.nav.dashboard', href: '/admin', icon: LayoutDashboard },
  { labelKey: 'admin.nav.stats', href: '/admin/stats', icon: BarChart3 },
  { labelKey: 'admin.nav.users', href: '/admin/users', icon: Users },
  { labelKey: 'admin.nav.pricing', href: '/admin/pricing', icon: CreditCard },
  { labelKey: 'admin.nav.models', href: '/admin/models', icon: Cpu },
  { labelKey: 'admin.nav.providers', href: '/admin/settings', icon: Settings },
  { labelKey: 'admin.nav.marketing', href: '/admin/marketing', icon: Megaphone },
  { labelKey: 'admin.nav.system', href: '/admin/system', icon: Settings },
  { labelKey: 'admin.nav.logs', href: '/admin/logs', icon: FileText },
];

/* ── Canaux LLM (source unique côté client) ────────────────────────────────
 * Miroir de services/providers/config.py::LLM_CHANNELS. Utilisé par la page
 * « Modèles & abonnements » (routes de palier) et la page Marketing
 * (génération d'emails par IA) — ne pas dupliquer ailleurs. */
export const LLM_CHANNEL_OPTIONS: { id: string; labelKey: string }[] = [
  { id: "openrouter", labelKey: "admin.models.channelOpenrouter" },
  { id: "openrouter_premium", labelKey: "admin.models.channelOpenrouterPremium" },
  { id: "deepseek", labelKey: "admin.models.channelDeepseek" },
  { id: "zhipu", labelKey: "admin.models.channelZhipu" },
  { id: "minimax", labelKey: "admin.models.channelMinimax" },
  { id: "openai", labelKey: "admin.models.channelOpenai" },
  { id: "zai", labelKey: "admin.models.channelZai" },
];

export const channelLabelKey = (id: string): string =>
  LLM_CHANNEL_OPTIONS.find((c) => c.id === id)?.labelKey ?? id;
