make separate component for pageContent

This commit is contained in:
2024-08-09 02:17:15 +02:00
parent aa9244c0ce
commit d1be264bc5
15 changed files with 97 additions and 90 deletions

View File

@@ -13,68 +13,64 @@ import { ContactEntityBlock } from "./ContactEntityBlock";
import { NeufAddressSectionBlock } from "./NeufAddressSectionBlock";
import { OpeningHoursSectionBlock } from "./OpeningHoursSectionBlock";
export const Blocks = ({ blocks }: any) => {
export const Blocks = ({ blocks, pageContent }: { blocks: any, pageContent?: boolean }) => {
const sections = blocks.filter(
(block: any) => block?.__typename === "PageSectionBlock"
);
return (
<div className="blockContent">
{blocks.map((block: any) => {
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;
case "HorizontalRuleBlock":
return <HorizontalRuleBlock block={block} />;
break;
case "FeaturedBlock":
return <FeaturedBlock block={block} />;
break;
case "AccordionBlock":
return <AccordionBlock block={block} />;
break;
case "FactBoxBlock":
return <FactBoxBlock block={block} />;
break;
case "PageSectionBlock":
return <PageSectionBlock block={block} />;
break;
case "PageSectionNavigationBlock":
return <PageSectionNavigationBlock sections={sections} />;
break;
case "ContactSectionBlock":
return <ContactSectionBlock block={block} />;
break;
case "ContactSubsectionBlock":
return <ContactSubsectionBlock block={block} />;
break;
case "ContactListBlock":
return <ContactListBlock block={block} />;
break;
case "ContactEntityBlock":
return <ContactEntityBlock block={block} />;
break;
case "NeufAddressSectionBlock":
return <NeufAddressSectionBlock />;
break;
case "OpeningHoursSectionBlock":
return <OpeningHoursSectionBlock />;
break;
default:
console.log("unsupported block", block);
return <div>Unsupported block type {block?.blockType}</div>;
}
})}
</div>
)
return blocks.map((block: any) => {
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} pageContent />;
break;
case "HorizontalRuleBlock":
return <HorizontalRuleBlock block={block} />;
break;
case "FeaturedBlock":
return <FeaturedBlock block={block} />;
break;
case "AccordionBlock":
return <AccordionBlock block={block} />;
break;
case "FactBoxBlock":
return <FactBoxBlock block={block} />;
break;
case "PageSectionBlock":
return <PageSectionBlock block={block} />;
break;
case "PageSectionNavigationBlock":
return <PageSectionNavigationBlock sections={sections} />;
break;
case "ContactSectionBlock":
return <ContactSectionBlock block={block} />;
break;
case "ContactSubsectionBlock":
return <ContactSubsectionBlock block={block} />;
break;
case "ContactListBlock":
return <ContactListBlock block={block} />;
break;
case "ContactEntityBlock":
return <ContactEntityBlock block={block} />;
break;
case "NeufAddressSectionBlock":
return <NeufAddressSectionBlock />;
break;
case "OpeningHoursSectionBlock":
return <OpeningHoursSectionBlock />;
break;
default:
console.log("unsupported block", block);
return <div>Unsupported block type {block?.blockType}</div>;
}
});
};