Files
emdash-patch-imageupload/templates/marketing-cloudflare/src/components/MarketingBlocks.astro
kunthawat 2d1be52177 Emdash source with visual editor image upload fix
Fixes:
1. media.ts: wrap placeholder generation in try-catch
2. toolbar.ts: check r.ok, display error message in popover
2026-05-03 10:44:54 +07:00

34 lines
956 B
Plaintext

---
/**
* Custom Portable Text renderer for marketing blocks.
*
* This component maps custom block types (marketing.hero, marketing.features, etc.)
* to their corresponding Astro components. Pass it to the PortableText component
* via the `components` prop.
*/
import type { PortableTextBlock } from "emdash";
import { PortableText } from "emdash/ui";
import Hero from "./blocks/Hero.astro";
import Features from "./blocks/Features.astro";
import Testimonials from "./blocks/Testimonials.astro";
import Pricing from "./blocks/Pricing.astro";
import FAQ from "./blocks/FAQ.astro";
interface Props {
value: PortableTextBlock[];
}
const { value } = Astro.props;
// Custom block type components
const marketingTypes = {
"marketing.hero": Hero,
"marketing.features": Features,
"marketing.testimonials": Testimonials,
"marketing.pricing": Pricing,
"marketing.faq": FAQ,
};
---
<PortableText value={value} components={{ type: marketingTypes }} />