// Segments qui vivent sous `/settings/sites` sans désigner un site : `/settings/sites/new`
// est le wizard de création, pas une page de site. À compléter si d'autres routes fixes
// s'y ajoutent.
const RESERVED_SEGMENTS = new Set(["new"]);

/**
 * Id du site désigné par la route courante, `null` quand la route n'en désigne aucun.
 *
 * Deux familles de routes portent un site, et c'est voulu :
 *
 * - `/settings/sites/<id>/…` — **la gestion** du site (renommer, cibles, suppression) ;
 * - `/sites/<id>/…` — **le travail** sur le site (Keywords depuis T5 ; Crawl et Search
 *   Console suivront). C'est la norme actée le 2026-09-01 pour les surfaces de travail.
 *
 * `/sites` et `/sites/<id>` tout court n'existent plus comme pages : `next.config.ts` les
 * redirige vers leur équivalent sous Réglages. Un `/sites/<id>` croisé ici (le temps d'une
 * redirection) désigne quand même ce site — le switcher a raison de le marquer actif.
 */
export function siteIdFromPathname(pathname: string): string | null {
  const segments = pathname.split("/").filter(Boolean);
  const [first, second, third] = segments;
  if (first === "settings" && second === "sites") {
    return third && !RESERVED_SEGMENTS.has(third) ? third : null;
  }
  if (first === "sites") {
    return second && !RESERVED_SEGMENTS.has(second) ? second : null;
  }
  return null;
}
