elevate-rehab-v3

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

content.tsx (1502B)


      1 import React from "react";
      2 import { Container } from "../util/container";
      3 import { Section } from "../util/section";
      4 import { TinaMarkdown } from "tinacms/dist/rich-text";
      5 import type { TinaTemplate } from "tinacms";
      6 import { PageBlocksContent } from "../../tina/__generated__/types";
      7 import { tinaField } from "tinacms/dist/react";
      8 
      9 export const Content = ({ data }: { data: PageBlocksContent }) => {
     10   return (
     11     <Section color={data.color}>
     12       <Container
     13         className={`prose prose-lg ${
     14           data.color === "primary" ? `prose-primary` : `dark:prose-dark`
     15         }`}
     16         data-tina-field={tinaField(data, "body")}
     17         size="large"
     18         width="medium"
     19       >
     20         <TinaMarkdown content={data.body} />
     21       </Container>
     22     </Section>
     23   );
     24 };
     25 
     26 export const contentBlockSchema: TinaTemplate = {
     27   name: "content",
     28   label: "Content",
     29   ui: {
     30     previewSrc: "/blocks/content.png",
     31     defaultItem: {
     32       body: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.",
     33     },
     34   },
     35   fields: [
     36     {
     37       type: "rich-text",
     38       label: "Body",
     39       name: "body",
     40     },
     41     {
     42       type: "string",
     43       label: "Color",
     44       name: "color",
     45       options: [
     46         { label: "Default", value: "default" },
     47         { label: "Tint", value: "tint" },
     48         { label: "Primary", value: "primary" },
     49       ],
     50     },
     51   ],
     52 };