add fact box block

This commit is contained in:
2024-07-14 19:55:40 +02:00
parent 9b7b63f679
commit 55f8062f07
19 changed files with 617 additions and 54 deletions

View File

@ -4,6 +4,7 @@ import { ImageSliderBlock } from "./ImageSliderBlock";
import { HorizontalRuleBlock } from "./HorizontalRuleBlock";
import { FeaturedBlock } from "./FeaturedBlock";
import { AccordionBlock } from "./AccordionBlock";
import { FactBoxBlock } from "./FactBoxBlock";
import { PageSectionBlock, PageSectionNavigationBlock } from "./PageSection";
import { ContactSectionBlock, ContactSubsectionBlock } from "./ContactSection";
import { ContactListBlock } from "./ContactListBlock";
@ -11,7 +12,6 @@ import { ContactEntityBlock } from "./ContactEntityBlock";
import { NeufAddressSectionBlock } from "./NeufAddressSectionBlock";
import { OpeningHoursSectionBlock } from "./OpeningHoursSectionBlock";
export const Blocks = ({ blocks }: any) => {
const sections = blocks.filter(
(block: any) => block.__typename === "PageSectionBlock"
@ -37,6 +37,9 @@ export const Blocks = ({ blocks }: any) => {
case "AccordionBlock":
return <AccordionBlock block={block} />;
break;
case "FactBoxBlock":
return <FactBoxBlock block={block} />;
break;
case "PageSectionBlock":
return <PageSectionBlock block={block} />;
break;

View File

@ -0,0 +1,20 @@
import { useId, useState } from "react";
import { FactBoxBlock as FactBoxBlockType } from "@/gql/graphql";
import styles from "./factBoxBlock.module.scss";
import { Blocks } from "./Blocks";
export const FactBoxBlock = ({ block }: { block: FactBoxBlockType }) => {
return (
<section
className={styles.factBox}
data-background-color={block.backgroundColor ?? ""}
>
<div className={styles.factBoxHeader}>
<span>{block.heading}</span>
</div>
<div className={styles.factBoxContent}>
<Blocks blocks={block.body} />
</div>
</section>
);
};

View File

@ -0,0 +1,39 @@
.factBox {
/* TODO: default fact box color if none is chosen
background: var(--color-background-secondary);
*/
&[data-background-color="betongGray"] {
background-color: var(--color-betongGray);
}
&[data-background-color="deepBrick"] {
background-color: var(--color-deepBrick);
}
&[data-background-color="neufPink"] {
background-color: var(--color-neufPink);
}
&[data-background-color="goldenOrange"] {
background-color: var(--color-goldenOrange);
color: var(--color-deepBrick);
}
&[data-background-color="goldenBeige"] {
background-color: var(--color-goldenBeige);
}
&[data-background-color="chateauBlue"] {
background-color: var(--color-chateauBlue);
color: var(--color-betongGray);
}
}
.factBoxHeader {
}
.factBoxContent {
}