import { jsxs as e, jsx as r } from "react/jsx-runtime";
import { Link as c } from "react-router-dom";
import { useTranslation as i } from "react-i18next";
import { Server as d, Layers as o, Check as a, Code as m, ArrowRight as l } from "lucide-react";
function v() {
  const { t } = i("docs"), n = [
    { name: ".NET 10", descKey: "developer.infrastructure.techStack.net" },
    { name: "React 19", descKey: "developer.infrastructure.techStack.react" },
    { name: "TypeScript 5.x", descKey: "developer.infrastructure.techStack.typescript" },
    { name: "EF Core 10", descKey: "developer.infrastructure.techStack.efcore" },
    { name: "SQL Server", descKey: "developer.infrastructure.techStack.sqlserver" },
    { name: "Serilog", descKey: "developer.infrastructure.techStack.serilog" },
    { name: "Tailwind CSS", descKey: "developer.infrastructure.techStack.tailwind" },
    { name: "Vite", descKey: "developer.infrastructure.techStack.vite" },
    { name: "Axios", descKey: "developer.infrastructure.techStack.axios" }
  ];
  return /* @__PURE__ */ e("div", { className: "space-y-8", children: [
    /* @__PURE__ */ e("div", { className: "flex items-center gap-2 text-sm text-[var(--text-secondary)]", children: [
      /* @__PURE__ */ r(c, { to: "/system/docs", className: "hover:text-[var(--color-primary-600)]", children: t("breadcrumb.documentation") }),
      /* @__PURE__ */ r("span", { children: "/" }),
      /* @__PURE__ */ r(c, { to: "/system/docs/developer", className: "hover:text-[var(--color-primary-600)]", children: t("breadcrumb.developer") }),
      /* @__PURE__ */ r("span", { children: "/" }),
      /* @__PURE__ */ r("span", { children: t("developer.infrastructure.title") })
    ] }),
    /* @__PURE__ */ e("div", { children: [
      /* @__PURE__ */ e("h1", { className: "text-3xl font-bold mb-4 flex items-center gap-3", children: [
        /* @__PURE__ */ r(d, { className: "w-8 h-8 text-[var(--color-primary-600)]" }),
        t("developer.infrastructure.title")
      ] }),
      /* @__PURE__ */ r("p", { className: "text-lg text-[var(--text-secondary)]", children: t("developer.infrastructure.subtitle") })
    ] }),
    /* @__PURE__ */ e("section", { className: "card p-6", children: [
      /* @__PURE__ */ r("h2", { className: "text-xl font-semibold mb-4", children: t("developer.infrastructure.techStack.title") }),
      /* @__PURE__ */ r("div", { className: "grid grid-cols-2 md:grid-cols-3 gap-4", children: n.map((s) => /* @__PURE__ */ e("div", { className: "p-4 bg-[var(--bg-secondary)] rounded-lg", children: [
        /* @__PURE__ */ r("div", { className: "font-medium", children: s.name }),
        /* @__PURE__ */ r("div", { className: "text-sm text-[var(--text-secondary)]", children: t(s.descKey) })
      ] }, s.name)) })
    ] }),
    /* @__PURE__ */ e("section", { className: "card p-6", children: [
      /* @__PURE__ */ e("h2", { className: "text-xl font-semibold mb-4 flex items-center gap-2", children: [
        /* @__PURE__ */ r(o, { className: "w-5 h-5" }),
        t("developer.infrastructure.architecture.title")
      ] }),
      /* @__PURE__ */ e("div", { className: "space-y-4", children: [
        /* @__PURE__ */ e("div", { className: "p-4 bg-gradient-to-r from-purple-500/10 to-transparent rounded-lg border-l-4 border-purple-500", children: [
          /* @__PURE__ */ r("h3", { className: "font-semibold text-purple-600 dark:text-purple-400", children: "SmartStack.Domain" }),
          /* @__PURE__ */ e("p", { className: "text-sm text-[var(--text-secondary)] mt-1", children: [
            t("developer.infrastructure.architecture.domain.desc"),
            /* @__PURE__ */ r("strong", { className: "block mt-1", children: t("developer.infrastructure.architecture.domain.noDeps") })
          ] }),
          /* @__PURE__ */ e("ul", { className: "mt-2 text-sm space-y-1", children: [
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.domain.entities")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.domain.valueObjects")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.domain.events")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.domain.enums")
            ] })
          ] })
        ] }),
        /* @__PURE__ */ e("div", { className: "p-4 bg-gradient-to-r from-blue-500/10 to-transparent rounded-lg border-l-4 border-blue-500", children: [
          /* @__PURE__ */ r("h3", { className: "font-semibold text-blue-600 dark:text-blue-400", children: "SmartStack.Application" }),
          /* @__PURE__ */ e("p", { className: "text-sm text-[var(--text-secondary)] mt-1", children: [
            t("developer.infrastructure.architecture.application.desc"),
            /* @__PURE__ */ r("strong", { className: "block mt-1", children: t("developer.infrastructure.architecture.application.deps") })
          ] }),
          /* @__PURE__ */ e("ul", { className: "mt-2 text-sm space-y-1", children: [
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.application.commands")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.application.queries")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.application.dtos")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.application.interfaces")
            ] })
          ] })
        ] }),
        /* @__PURE__ */ e("div", { className: "p-4 bg-gradient-to-r from-green-500/10 to-transparent rounded-lg border-l-4 border-green-500", children: [
          /* @__PURE__ */ r("h3", { className: "font-semibold text-green-600 dark:text-green-400", children: "SmartStack.Infrastructure" }),
          /* @__PURE__ */ e("p", { className: "text-sm text-[var(--text-secondary)] mt-1", children: [
            t("developer.infrastructure.architecture.infrastructure.desc"),
            /* @__PURE__ */ r("strong", { className: "block mt-1", children: t("developer.infrastructure.architecture.infrastructure.deps") })
          ] }),
          /* @__PURE__ */ e("ul", { className: "mt-2 text-sm space-y-1", children: [
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.infrastructure.dbcontext")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.infrastructure.configs")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.infrastructure.migrations")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.infrastructure.services")
            ] })
          ] })
        ] }),
        /* @__PURE__ */ e("div", { className: "p-4 bg-gradient-to-r from-orange-500/10 to-transparent rounded-lg border-l-4 border-orange-500", children: [
          /* @__PURE__ */ r("h3", { className: "font-semibold text-orange-600 dark:text-orange-400", children: "SmartStack.Api" }),
          /* @__PURE__ */ e("p", { className: "text-sm text-[var(--text-secondary)] mt-1", children: [
            t("developer.infrastructure.architecture.api.desc"),
            /* @__PURE__ */ r("strong", { className: "block mt-1", children: t("developer.infrastructure.architecture.api.deps") })
          ] }),
          /* @__PURE__ */ e("ul", { className: "mt-2 text-sm space-y-1", children: [
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.api.controllers")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.api.middlewares")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.api.di")
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-center gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500" }),
              " ",
              t("developer.infrastructure.architecture.api.auth")
            ] })
          ] })
        ] })
      ] }),
      /* @__PURE__ */ e("div", { className: "mt-6 p-4 bg-[var(--bg-secondary)] rounded-lg", children: [
        /* @__PURE__ */ r("h4", { className: "font-medium mb-2", children: t("developer.infrastructure.architecture.dependencyFlow.title") }),
        /* @__PURE__ */ r("pre", { className: "text-sm font-mono", children: `Domain ← Application ← Infrastructure
                    ↖         ↙
                       Api` }),
        /* @__PURE__ */ e("p", { className: "text-sm text-[var(--text-secondary)] mt-2", children: [
          /* @__PURE__ */ e("strong", { children: [
            t("common.rule", { defaultValue: "Règle" }),
            ":"
          ] }),
          " ",
          t("developer.infrastructure.architecture.dependencyFlow.rule")
        ] })
      ] })
    ] }),
    /* @__PURE__ */ e("section", { className: "card p-6", children: [
      /* @__PURE__ */ e("h2", { className: "text-xl font-semibold mb-4 flex items-center gap-2", children: [
        /* @__PURE__ */ r(m, { className: "w-5 h-5" }),
        t("developer.infrastructure.frontend.title")
      ] }),
      /* @__PURE__ */ e("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
        /* @__PURE__ */ e("div", { className: "p-4 bg-[var(--bg-secondary)] rounded-lg", children: [
          /* @__PURE__ */ r("h4", { className: "font-medium mb-2", children: t("developer.infrastructure.frontend.structure") }),
          /* @__PURE__ */ r("pre", { className: "text-xs", children: `src/
├── components/   → ${t("developer.infrastructure.frontend.structureDesc.components")}
├── contexts/     → ${t("developer.infrastructure.frontend.structureDesc.contexts")}
├── hooks/        → ${t("developer.infrastructure.frontend.structureDesc.hooks")}
├── layouts/      → ${t("developer.infrastructure.frontend.structureDesc.layouts")}
├── pages/        → ${t("developer.infrastructure.frontend.structureDesc.pages")}
├── services/     → ${t("developer.infrastructure.frontend.structureDesc.services")}
└── i18n/         → ${t("developer.infrastructure.frontend.structureDesc.i18n")}` })
        ] }),
        /* @__PURE__ */ e("div", { className: "p-4 bg-[var(--bg-secondary)] rounded-lg", children: [
          /* @__PURE__ */ r("h4", { className: "font-medium mb-2", children: t("developer.infrastructure.frontend.conventions") }),
          /* @__PURE__ */ e("ul", { className: "text-sm space-y-2", children: [
            /* @__PURE__ */ e("li", { className: "flex items-start gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500 mt-0.5" }),
              /* @__PURE__ */ r("span", { children: t("developer.infrastructure.frontend.conventionsList.featureBased") })
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-start gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500 mt-0.5" }),
              /* @__PURE__ */ r("span", { children: t("developer.infrastructure.frontend.conventionsList.customHooks") })
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-start gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500 mt-0.5" }),
              /* @__PURE__ */ r("span", { children: t("developer.infrastructure.frontend.conventionsList.apiCentralized") })
            ] }),
            /* @__PURE__ */ e("li", { className: "flex items-start gap-2", children: [
              /* @__PURE__ */ r(a, { className: "w-4 h-4 text-green-500 mt-0.5" }),
              /* @__PURE__ */ r("span", { children: t("developer.infrastructure.frontend.conventionsList.cssVariables") })
            ] })
          ] })
        ] })
      ] })
    ] }),
    /* @__PURE__ */ e("div", { className: "flex justify-between pt-6 border-t border-[var(--border-color)]", children: [
      /* @__PURE__ */ e(
        c,
        {
          to: "/system/docs/developer",
          className: "flex items-center gap-2 text-[var(--text-secondary)] hover:text-[var(--color-primary-600)]",
          children: [
            /* @__PURE__ */ r(l, { className: "w-4 h-4 rotate-180" }),
            t("developer.infrastructure.nav.back")
          ]
        }
      ),
      /* @__PURE__ */ e(
        c,
        {
          to: "/system/docs/developer/installation",
          className: "flex items-center gap-2 text-[var(--color-primary-600)] hover:underline",
          children: [
            t("developer.infrastructure.nav.next"),
            /* @__PURE__ */ r(l, { className: "w-4 h-4" })
          ]
        }
      )
    ] })
  ] });
}
export {
  v as InfrastructurePage
};
//# sourceMappingURL=InfrastructurePage-q_y1z8T_.js.map
