---
import { Blocks, defineBlockComponents } from "emdash/ui";
import type { PageContentBlock } from "../../emdash-env";
import CTA from "./blocks/CTA.astro";
import Contact from "./blocks/Contact.astro";
import FAQ from "./blocks/FAQ.astro";
import Features from "./blocks/Features.astro";
import Hero from "./blocks/Hero.astro";
import Logos from "./blocks/Logos.astro";
import Pricing from "./blocks/Pricing.astro";
import Split from "./blocks/Split.astro";
import Stats from "./blocks/Stats.astro";
import Testimonials from "./blocks/Testimonials.astro";
import Text from "./blocks/Text.astro";

interface Props {
	value?: PageContentBlock[] | null;
}

const { value } = Astro.props;

const marketingComponents = defineBlockComponents<PageContentBlock>({
	marketing_hero: Hero,
	marketing_features: Features,
	marketing_testimonials: Testimonials,
	marketing_pricing: Pricing,
	marketing_faq: FAQ,
	marketing_logos: Logos,
	marketing_split: Split,
	marketing_stats: Stats,
	marketing_cta: CTA,
	marketing_contact: Contact,
	marketing_text: Text,
});
---

<Blocks {value} components={marketingComponents} />
