// Block `local_hero` — réutilise le composant d'origine LocalHero (héros photo
// plein cadre : titre + lead, 2 CTA et marquee de logos clients, sans formulaire).
// Les champs WP non remplis retombent sur les défauts du composant (parité pixel
// préservée). L'image de fond et le marquee de logos restent pilotés par défaut
// côté front (pas de prop sur le composant d'origine).

import LocalHero from "@/components/LocalHero";
import type { WpCta } from "@/lib/wp/types";

interface LocalHeroBlock {
  origine?: string | null;
  titre?: string | null;
  lead?: string | null;
  ctaPrimaire?: WpCta | null;
  ctaSecondaire?: WpCta | null;
}

const cta = (c?: WpCta | null) =>
  c?.label && c?.lien ? { label: c.label, href: c.lien } : null;

// Défauts = parité pixel avec le composant d'origine (valeurs de la version
// d'avant-CMS). Les champs WP remplis surchargent via le spread conditionnel.
const DEFAULTS = {
  title: "Cool Roof : la solution anti-chaleur pour vos bâtiments",
  subtitle:
    "Un revêtement réfléchissant qui fait baisser la température et la facture, sans gros travaux.",
  primaryCTA: { label: "Demander un diagnostic", href: "/contact" },
  secondaryCTA: { label: "Découvrir le produit", href: "/produit" },
};

const LocalHeroBlockComponent = (props: LocalHeroBlock & { position?: number }) => {
  const primaryCTA = cta(props.ctaPrimaire);
  const secondaryCTA = cta(props.ctaSecondaire);

  return (
    <LocalHero
      {...DEFAULTS}
      {...(props.titre ? { title: props.titre } : {})}
      {...(props.lead ? { subtitle: props.lead } : {})}
      {...(primaryCTA ? { primaryCTA } : {})}
      {...(secondaryCTA ? { secondaryCTA } : {})}
    />
  );
};

export default LocalHeroBlockComponent;
