--- const { allEntries = [], } = Astro.props; const slugOf = (entry) => String(entry.id).replace(/\.(md|mdx)$/i, ""); const hrefOf = (entry) => `/glossaire/${slugOf(entry)}/`; const collator = new Intl.Collator("fr", { sensitivity: "base", numeric: true }); const bySlug = new Map(allEntries.map((entry) => [slugOf(entry), entry])); function sortByTerm(list = []) { return [...list].sort((a, b) => collator.compare(a.data.term, b.data.term)); } function familyOf(entry) { const explicit = entry?.data?.family; if (explicit) return explicit; const slug = slugOf(entry); const kind = entry?.data?.kind; if (kind === "paradigme") return "paradigme"; if (kind === "doctrine") return "doctrine"; if (kind === "verbe") return "verbe"; if (slug === "scene-depreuve") return "scene"; if (slug === "autarchicratie") return "pathologie"; if (slug === "obliteration-archicratique") return "dynamique"; if ( [ "archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "tension", ].includes(slug) ) { return "concept-fondamental"; } if (slug === "archicrations-differentielles-et-formes-hybrides") { return "topologie"; } if (kind === "topologie" && slug.startsWith("archicrations-")) { return "meta-regime"; } return ""; } const fondamentauxWanted = [ "archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "tension", ]; const fondamentaux = sortByTerm( fondamentauxWanted .map((slug) => bySlug.get(slug)) .filter(Boolean) ); const totalEntries = allEntries.length; const paradigmesCount = allEntries.filter((entry) => entry.data.kind === "paradigme").length; const doctrinesCount = allEntries.filter((entry) => entry.data.kind === "doctrine").length; const metaRegimesCount = allEntries.filter((entry) => familyOf(entry) === "meta-regime").length; const portalLinks = [ { href: "/glossaire/concepts-fondamentaux/", label: "Concepts fondamentaux" }, { href: "/glossaire/index-complet/", label: "Index complet" }, { href: "/glossaire/paradigme-archicratique/", label: "Paradigme archicratique" }, { href: "/glossaire/scenes-archicratiques/", label: "Scènes archicratiques" }, { href: "/glossaire/dynamiques-archicratiques/", label: "Dynamiques archicratiques" }, { href: "/glossaire/tensions-irreductibles/", label: "Tensions irréductibles" }, { href: "/glossaire/archicrations/", label: "Méta-régimes archicratiques" }, { href: "/glossaire/paradigmes/", label: "Paradigmes et doctrines" }, { href: "/glossaire/verbes-de-la-scene/", label: "Verbes de la scène" }, ]; ---