51 lines
1.0 KiB
TypeScript
51 lines
1.0 KiB
TypeScript
import { RichTextBlock } from "./RichTextBlock";
|
|
import { ImageWithTextBlock } from "./ImageWithTextBlock";
|
|
import { ImageSliderBlock } from "./ImageSliderBlock";
|
|
|
|
export const Blocks = ({ blocks }: any) => {
|
|
return blocks.map((block: any) => {
|
|
switch (block.blockType) {
|
|
case "RichTextBlock":
|
|
return <RichTextBlock block={block} />;
|
|
break;
|
|
case "ImageWithTextBlock":
|
|
return <ImageWithTextBlock block={block} />;
|
|
break;
|
|
case "ImageSliderBlock":
|
|
return <ImageSliderBlock block={block} />;
|
|
break;
|
|
default:
|
|
return <div>Unsupported block type {block.blockType}</div>;
|
|
console.log("unsupported block", block);
|
|
}
|
|
});
|
|
};
|
|
|
|
/*
|
|
StreamFieldBlock
|
|
CharBlock
|
|
TextBlock
|
|
EmailBlock
|
|
IntegerBlock
|
|
FloatBlock
|
|
DecimalBlock
|
|
RegexBlock
|
|
URLBlock
|
|
BooleanBlock
|
|
DateBlock
|
|
TimeBlock
|
|
DateTimeBlock
|
|
RichTextBlock
|
|
RawHTMLBlock
|
|
BlockQuoteBlock
|
|
ChoiceBlock
|
|
StreamBlock
|
|
StructBlock
|
|
StaticBlock
|
|
ListBlock
|
|
EmbedBlock
|
|
PageChooserBlock
|
|
DocumentChooserBlock
|
|
ImageChooserBlock
|
|
*/
|