// Block `industrie_hero` — réutilise le composant d'origine IndustrieHero
// (héros hub fond clair : photo arrondie côté navy, sans formulaire). Les champs
// WP non remplis retombent sur les défauts du composant (parité pixel préservée).
// Les cartes secteurs flottantes restent pilotées par défaut (données front).

import { HelpCircle } from "lucide-react";

import IndustrieHero from "@/components/industrie/IndustrieHero";
import { arr, mapImage } from "@/lib/wp/mappers";
import type { IndustrieHeroBlock } from "@/lib/wp/types";
import { iconFor } from "./shared";

const IndustrieHeroBlockComponent = (
  props: IndustrieHeroBlock & { position?: number },
) => {
  const image = mapImage(props.image);

  const proofs = arr(props.industrieHeroStats)
    .filter((s) => s.value)
    .map((s) => ({
      icon: iconFor(s.icone) ?? HelpCircle,
      value: s.value ?? "",
      label: s.label ?? "",
    }));

  return (
    <IndustrieHero
      {...(props.eyebrow ? { eyebrow: props.eyebrow } : {})}
      {...(props.titre ? { titre: props.titre } : {})}
      {...(props.lead ? { lead: props.lead } : {})}
      {...(image?.sourceUrl ? { imageSrc: image.sourceUrl } : {})}
      {...(image?.altText ? { imageAlt: image.altText } : {})}
      {...(props.badgeTitre ? { badgeTitle: props.badgeTitre } : {})}
      {...(proofs.length ? { proofs } : {})}
      {...(props.ctaPrimaire?.label ? { ctaPrimaireLabel: props.ctaPrimaire.label } : {})}
      {...(props.ctaPrimaire?.lien ? { ctaPrimaireHref: props.ctaPrimaire.lien } : {})}
      {...(props.ctaSecondaire?.label ? { ctaSecondaireLabel: props.ctaSecondaire.label } : {})}
      {...(props.ctaSecondaire?.lien ? { ctaSecondaireHref: props.ctaSecondaire.lien } : {})}
    />
  );
};

export default IndustrieHeroBlockComponent;
