import Link from "next/link"; function initialsOf(name: string) { return name.split(/\s+/).map((w) => w[0]).join("").slice(0, 2).toUpperCase(); } const TABS = [ { key: "informations", href: "/backend/espace/informations", label: "Informations" }, { key: "profil", href: "/backend/espace", label: "Mon profil" }, { key: "promotions", href: "/backend/espace/promotions", label: "Mes promotions" }, ] as const; export type EspaceTab = (typeof TABS)[number]["key"]; /** * Bandeau de l'espace adhérent et ses onglets. Trois pages distinctes pour que * les annonces de l'association, la fiche publique et la vie des promotions ne * se mélangent pas dans une seule longue page. * * Les compteurs sont passés par chaque page : sans cela ils disparaîtraient * en changeant d'onglet. */ export function EspaceHeader({ memberName, subtitle, active, publicPath, promoBadge, infoBadge, }: { memberName: string; subtitle: string; active: EspaceTab; publicPath?: string | null; /** Nombre de promotions en ligne, affiché sur l'onglet. */ promoBadge?: number; /** Nombre d'informations non lues. */ infoBadge?: number; }) { return (