add support for embed blocks, with some styling for youtube

This commit is contained in:
2024-07-15 00:24:28 +02:00
parent 55f8062f07
commit 55257f3bb4
14 changed files with 244 additions and 27 deletions

View File

@@ -4,6 +4,7 @@ import { ImageSliderBlock } from "./ImageSliderBlock";
import { HorizontalRuleBlock } from "./HorizontalRuleBlock";
import { FeaturedBlock } from "./FeaturedBlock";
import { AccordionBlock } from "./AccordionBlock";
import { EmbedBlock } from "./EmbedBlock";
import { FactBoxBlock } from "./FactBoxBlock";
import { PageSectionBlock, PageSectionNavigationBlock } from "./PageSection";
import { ContactSectionBlock, ContactSubsectionBlock } from "./ContactSection";
@@ -14,17 +15,20 @@ import { OpeningHoursSectionBlock } from "./OpeningHoursSectionBlock";
export const Blocks = ({ blocks }: any) => {
const sections = blocks.filter(
(block: any) => block.__typename === "PageSectionBlock"
(block: any) => block?.__typename === "PageSectionBlock"
);
return blocks.map((block: any) => {
switch (block.blockType) {
switch (block?.blockType) {
case "RichTextBlock":
return <RichTextBlock block={block} />;
break;
case "ImageWithTextBlock":
return <ImageWithTextBlock block={block} />;
break;
case "EmbedBlock":
return <EmbedBlock block={block} />;
break;
case "ImageSliderBlock":
return <ImageSliderBlock block={block} />;
break;
@@ -65,8 +69,8 @@ export const Blocks = ({ blocks }: any) => {
return <OpeningHoursSectionBlock />;
break;
default:
return <div>Unsupported block type {block.blockType}</div>;
console.log("unsupported block", block);
return <div>Unsupported block type {block?.blockType}</div>;
}
});
};