import * as React from "react"; import { Actions } from "../util/actions"; import { Container } from "../util/container"; import { Section } from "../util/section"; import { TinaMarkdown } from "tinacms/dist/rich-text"; import type { Template } from "tinacms"; import { PageBlocksHero } from "../../tina/__generated__/types"; import { tinaField } from "tinacms/dist/react"; import { PageBlockFunction } from "../blocks-renderer"; export const Hero: PageBlockFunction = ({ data }) => { return (
{ data.tagline && (

{ data.tagline }

) } { data.headline && (

{ data.headline }

) } { data.text && (
) } { data.actions && ( ) }
{ data.image && (
{
) }
); }; export const heroBlockSchema: Template = { name: "hero", label: "Hero", ui: { previewSrc: "/blocks/hero.png", defaultItem: { tagline: "Here's some text above the other text", headline: "This Big Text is Totally Awesome", text: "Phasellus scelerisque, libero eu finibus rutrum, risus risus accumsan libero, nec molestie urna dui a leo." } }, fields: [ { type: "string", label: "Tagline", name: "tagline" }, { type: "string", label: "Headline", name: "headline" }, { label: "Text", name: "text", type: "rich-text" }, { label: "Actions", name: "actions", type: "object", list: true, ui: { defaultItem: { label: "Action Label", type: "button", icon: true, link: "/" }, itemProps: (item) => ({ label: item.label }) }, fields: [ { label: "Label", name: "label", type: "string" }, { label: "Type", name: "type", type: "string", options: [ { label: "Button", value: "button" }, { label: "Link", value: "link" } ] }, { label: "Icon", name: "icon", type: "boolean" }, { label: "Link", name: "link", type: "string" } ] }, { type: "object", label: "Image", name: "image", fields: [ { name: "src", label: "Image Source", type: "image" }, { name: "alt", label: "Alt Text", type: "string" } ] }, { type: "string", label: "Color", name: "color", options: [ { label: "Default", value: "default" }, { label: "Tint", value: "tint" }, { label: "Primary", value: "primary" } ] } ] };