package main import ( "bytes" "context" "git.dev.alexdunmow.com/block/core/blocks" ) // MarqueeHeroBlockMeta defines the marquee hero block. var MarqueeHeroBlockMeta = blocks.BlockMeta{ Key: "marquee_hero", Title: "Marquee Hero", Description: "Wide hero with stepped ziggurat frame and sunburst overlay.", Source: "art-deco", } // MarqueeHeroData is the typed view for the marquee hero component. type MarqueeHeroData struct { Eyebrow string Title string Subtitle string CTALabel string CTAHref string Image string } // MarqueeHeroBlock renders the wide hero with stepped frame and sunburst overlay. // Content: {"eyebrow": "...", "title": "...", "subtitle": "...", "ctaLabel": "...", "ctaHref": "...", "image": "..."} func MarqueeHeroBlock(ctx context.Context, content map[string]any) string { data := MarqueeHeroData{ Eyebrow: getString(content, "eyebrow"), Title: getString(content, "title"), Subtitle: getString(content, "subtitle"), CTALabel: getString(content, "ctaLabel"), CTAHref: getString(content, "ctaHref"), Image: getString(content, "image"), } var buf bytes.Buffer _ = marqueeHeroComponent(data).Render(ctx, &buf) return buf.String() }