import type { Page, PageBlocks } from "../tina/__generated__/types"; import { Content } from "./blocks/content"; import { Features } from "./blocks/features"; import { Hero } from "./blocks/hero"; import { Testimonial } from "./blocks/testimonial"; import { tinaField } from "tinacms/dist/react"; import { Carousel } from "./blocks/carousel"; import { ReactElement } from "react"; export const Blocks = (props: Omit) => { return ( <> { props.blocks ? props.blocks.map((block, i) => { return (
); }) : null } ); }; interface PageBlockProps { data: T } export type PageBlockFunction = ({ data }: PageBlockProps) => ReactElement; const Block = (block: PageBlocks): ReactElement => { switch (block.__typename) { case "PageBlocksContent": return ; case "PageBlocksHero": return ; case "PageBlocksFeatures": return ; case "PageBlocksTestimonial": return ; case "PageBlocksCarousel": return ; default: return null; } };