/**
 * Kategorie-Pfad mit subtil dargestellten Oberkategorien und normalem Blatt,
 * z.B. „Klamotten →" klein/gedämpft und „kurze Hosen" normal. Wird in der
 * Tabellenzelle und im Filter-Dropdown verwendet.
 */
export default function CategoryPathLabel({ parts, fallback = "–" }) {
  if (!parts || parts.length === 0) return <span className="muted">{fallback}</span>;
  const ancestors = parts.slice(0, -1);
  const leaf = parts[parts.length - 1];
  return (
    <span className="cat-path">
      {ancestors.length > 0 && (
        <span className="cat-ancestors">{ancestors.join(" → ")} → </span>
      )}
      <span className="cat-leaf">{leaf}</span>
    </span>
  );
}

/** Aus einem Token-/Pfad-String die Teile gewinnen (Trenner " → "). */
export function pathParts(value) {
  return String(value ?? "").split(" → ");
}
