import { jsxs as t, jsx as e } from "react/jsx-runtime";
import { Link as o } from "react-router-dom";
import { useTranslation as u } from "react-i18next";
import { Blocks as h, Users as x, Key as f, AppWindow as v, LayoutDashboard as g, HeadphonesIcon as d, Clock as y, FileText as b, User as N, Settings as k, Check as A, Plus as P, ArrowRight as m } from "lucide-react";
const n = [
  // Platform - Administration
  {
    name: "Utilisateurs",
    code: "users",
    icon: x,
    description: "Gestion complete des comptes utilisateurs de la plateforme.",
    features: [
      "Liste et recherche des utilisateurs",
      "Creation et modification de profils",
      "Gestion des verrouillages de compte",
      "Assignation des roles",
      "Historique des connexions"
    ],
    route: "/administration/users",
    application: "administration"
  },
  {
    name: "Permissions",
    code: "permissions",
    icon: f,
    description: "Configuration des roles et permissions de la plateforme.",
    features: [
      "Gestion des roles (globaux et par application)",
      "Assignation des permissions aux roles",
      "Heritage de roles (role parent)",
      "Permissions wildcards",
      "Audit des assignations"
    ],
    route: "/administration/permissions",
    application: "administration"
  },
  {
    name: "Applications",
    code: "applications",
    icon: v,
    description: "Administration de la structure de navigation.",
    features: [
      "Configuration des applications",
      "Modules et sections",
      "Zones d'affichage (Platform, Personal, Business)",
      "Ordre d'affichage",
      "Activation/desactivation"
    ],
    route: "/administration/applications",
    application: "administration"
  },
  // Platform - Support
  {
    name: "Dashboard Support",
    code: "dashboard",
    icon: g,
    description: "Vue d'ensemble des metriques et KPIs du support.",
    features: [
      "Statistiques en temps reel",
      "Tickets par statut et priorite",
      "Performance SLA",
      "Temps de resolution moyen",
      "Satisfaction client"
    ],
    route: "/support/dashboard",
    application: "support"
  },
  {
    name: "Tous les Tickets",
    code: "tickets",
    icon: d,
    description: "Gestion de tous les tickets de support.",
    features: [
      "Liste complete des tickets",
      "Filtres avances (statut, priorite, type)",
      "Recherche full-text",
      "Vue detaillee avec timeline",
      "Actions rapides"
    ],
    route: "/support/tickets",
    application: "support"
  },
  {
    name: "Mes Tickets",
    code: "my-tickets",
    icon: d,
    description: "Tickets assignes a l'agent connecte.",
    features: [
      "File d'attente personnelle",
      "Prioritisation automatique",
      "Indicateurs SLA en temps reel",
      "Actions de traitement"
    ],
    route: "/support/my-tickets",
    application: "support"
  },
  {
    name: "Configuration SLA",
    code: "sla",
    icon: y,
    description: "Configuration des niveaux de service.",
    features: [
      "Delais par priorite",
      "Heures ouvrables",
      "Alertes et notifications",
      "Rapports de conformite"
    ],
    route: "/support/admin/sla",
    application: "support"
  },
  {
    name: "Templates",
    code: "templates",
    icon: b,
    description: "Gestion des reponses pre-definies.",
    features: [
      "Categories de templates",
      "Variables dynamiques",
      "Insertion rapide",
      "Partage entre agents"
    ],
    route: "/support/admin/templates",
    application: "support"
  },
  // Personal - MySpace
  {
    name: "Profil",
    code: "profile",
    icon: N,
    description: "Gestion du profil utilisateur.",
    features: [
      "Informations personnelles",
      "Photo de profil",
      "Biographie",
      "Coordonnees"
    ],
    route: "/myspace/profile",
    application: "myspace"
  },
  {
    name: "Preferences",
    code: "preferences",
    icon: k,
    description: "Personnalisation de l'interface.",
    features: [
      "Theme (clair/sombre/systeme)",
      "Couleurs personnalisees",
      "Langue",
      "Notifications"
    ],
    route: "/myspace/preferences",
    application: "myspace"
  }
], p = n.reduce((s, i) => {
  const r = i.application;
  return s[r] || (s[r] = []), s[r].push(i), s;
}, {}), w = {
  administration: { name: "Administration", color: "from-purple-500 to-pink-500" },
  support: { name: "Support", color: "from-blue-500 to-cyan-500" },
  myspace: { name: "MySpace", color: "from-green-500 to-emerald-500" }
};
function M() {
  const { t: s } = u("docs");
  return /* @__PURE__ */ t("div", { className: "space-y-8", children: [
    /* @__PURE__ */ t("div", { className: "flex items-center gap-2 text-sm text-[var(--text-secondary)]", children: [
      /* @__PURE__ */ e(o, { to: "/system/docs", className: "hover:text-[var(--color-primary-600)]", children: s("breadcrumb.documentation") }),
      /* @__PURE__ */ e("span", { children: "/" }),
      /* @__PURE__ */ e(o, { to: "/system/docs/user", className: "hover:text-[var(--color-primary-600)]", children: s("breadcrumb.user") }),
      /* @__PURE__ */ e("span", { children: "/" }),
      /* @__PURE__ */ e("span", { children: s("breadcrumb.modules") })
    ] }),
    /* @__PURE__ */ t("div", { children: [
      /* @__PURE__ */ t("h1", { className: "text-3xl font-bold mb-4 flex items-center gap-3", children: [
        /* @__PURE__ */ e(h, { className: "w-8 h-8 text-[var(--color-primary-600)]" }),
        s("modules.title")
      ] }),
      /* @__PURE__ */ e("p", { className: "text-lg text-[var(--text-secondary)]", children: s("modules.subtitle") })
    ] }),
    /* @__PURE__ */ t("div", { className: "grid grid-cols-3 gap-4", children: [
      /* @__PURE__ */ t("div", { className: "card p-4 text-center", children: [
        /* @__PURE__ */ e("div", { className: "text-3xl font-bold text-[var(--color-primary-600)]", children: n.length }),
        /* @__PURE__ */ e("div", { className: "text-sm text-[var(--text-secondary)]", children: "Modules" })
      ] }),
      /* @__PURE__ */ t("div", { className: "card p-4 text-center", children: [
        /* @__PURE__ */ e("div", { className: "text-3xl font-bold text-[var(--color-primary-600)]", children: Object.keys(p).length }),
        /* @__PURE__ */ e("div", { className: "text-sm text-[var(--text-secondary)]", children: "Applications" })
      ] }),
      /* @__PURE__ */ t("div", { className: "card p-4 text-center", children: [
        /* @__PURE__ */ e("div", { className: "text-3xl font-bold text-[var(--color-primary-600)]", children: n.reduce((i, r) => i + r.features.length, 0) }),
        /* @__PURE__ */ e("div", { className: "text-sm text-[var(--text-secondary)]", children: "Fonctionnalites" })
      ] })
    ] }),
    Object.entries(p).map(([i, r]) => {
      const c = w[i];
      return /* @__PURE__ */ t("section", { className: "space-y-4", children: [
        /* @__PURE__ */ t("div", { className: `p-4 rounded-lg bg-gradient-to-r ${c?.color || "from-gray-500 to-gray-600"}`, children: [
          /* @__PURE__ */ e("h2", { className: "text-xl font-semibold text-white", children: c?.name }),
          /* @__PURE__ */ t("p", { className: "text-white/80 text-sm", children: [
            r.length,
            " modules"
          ] })
        ] }),
        /* @__PURE__ */ e("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: r.map((a) => /* @__PURE__ */ e("div", { className: "card p-5", children: /* @__PURE__ */ t("div", { className: "flex items-start gap-4", children: [
          /* @__PURE__ */ e("div", { className: "p-3 rounded-xl bg-[var(--color-primary-600)]/10 flex-shrink-0", children: /* @__PURE__ */ e(a.icon, { className: "w-6 h-6 text-[var(--color-primary-600)]" }) }),
          /* @__PURE__ */ t("div", { className: "flex-1 min-w-0", children: [
            /* @__PURE__ */ e("h3", { className: "font-semibold mb-1", children: a.name }),
            /* @__PURE__ */ e("p", { className: "text-sm text-[var(--text-secondary)] mb-3", children: a.description }),
            /* @__PURE__ */ e("div", { className: "text-xs font-mono bg-[var(--bg-secondary)] px-2 py-1 rounded inline-block mb-3", children: a.route }),
            /* @__PURE__ */ t("div", { className: "space-y-1", children: [
              a.features.slice(0, 3).map((l) => /* @__PURE__ */ t("div", { className: "flex items-center gap-2 text-sm text-[var(--text-secondary)]", children: [
                /* @__PURE__ */ e(A, { className: "w-3 h-3 text-green-500 flex-shrink-0" }),
                /* @__PURE__ */ e("span", { children: l })
              ] }, l)),
              a.features.length > 3 && /* @__PURE__ */ t("div", { className: "text-xs text-[var(--text-tertiary)] pl-5", children: [
                "+",
                a.features.length - 3,
                " autres fonctionnalites"
              ] })
            ] })
          ] })
        ] }) }, a.code)) })
      ] }, i);
    }),
    /* @__PURE__ */ e("section", { className: "card p-6 bg-gradient-to-r from-[var(--info-bg)] to-transparent border-[var(--info-border)]", children: /* @__PURE__ */ t("div", { className: "flex items-start gap-4", children: [
      /* @__PURE__ */ e(P, { className: "w-6 h-6 text-[var(--info-text)]" }),
      /* @__PURE__ */ t("div", { children: [
        /* @__PURE__ */ e("h3", { className: "font-semibold text-[var(--info-text)]", children: "Ajouter un Module" }),
        /* @__PURE__ */ e("p", { className: "text-sm text-[var(--text-secondary)] mt-1", children: "Pour documenter un nouveau module, utilisez la commande Claude Code:" }),
        /* @__PURE__ */ e("code", { className: "mt-2 block bg-[var(--bg-primary)] px-3 py-2 rounded font-mono text-sm", children: "/documentation:module [nom-du-module]" }),
        /* @__PURE__ */ e("p", { className: "text-xs text-[var(--text-tertiary)] mt-2", children: "Cette commande generera automatiquement la documentation selon l'architecture etablie." })
      ] })
    ] }) }),
    /* @__PURE__ */ t("div", { className: "flex justify-between pt-6 border-t border-[var(--border-color)]", children: [
      /* @__PURE__ */ t(
        o,
        {
          to: "/system/docs/user/architecture",
          className: "flex items-center gap-2 text-[var(--text-secondary)] hover:text-[var(--color-primary-600)]",
          children: [
            /* @__PURE__ */ e(m, { className: "w-4 h-4 rotate-180" }),
            "Architecture"
          ]
        }
      ),
      /* @__PURE__ */ t(
        o,
        {
          to: "/system/docs",
          className: "flex items-center gap-2 text-[var(--color-primary-600)] hover:underline",
          children: [
            "Retour a la documentation",
            /* @__PURE__ */ e(m, { className: "w-4 h-4" })
          ]
        }
      )
    ] })
  ] });
}
export {
  M as ModulesPage
};
//# sourceMappingURL=ModulesPage-B3p8e07v.js.map
