From 4f1181581e177dd80a76165a0f930ef4577f9c6a Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Wed, 22 Nov 2023 19:07:25 +0100
Subject: refactor(components): integrate sectioned page template into Page

* replace Section component by a generic one (other components should
be able to use it)
* add a PageSection component
* add `hasSections` prop to Page component
* remove sectioned-page template
---
 .../templates/sectioned/sectioned-layout.tsx       | 51 ----------------------
 1 file changed, 51 deletions(-)
 delete mode 100644 src/components/templates/sectioned/sectioned-layout.tsx

(limited to 'src/components/templates/sectioned/sectioned-layout.tsx')

diff --git a/src/components/templates/sectioned/sectioned-layout.tsx b/src/components/templates/sectioned/sectioned-layout.tsx
deleted file mode 100644
index 6d58e83..0000000
--- a/src/components/templates/sectioned/sectioned-layout.tsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import Script from 'next/script';
-import type { FC } from 'react';
-import type { BreadcrumbList } from 'schema-dts';
-import { Section, type SectionProps, type SectionVariant } from '../../atoms';
-
-export type PageSection = Required<Pick<SectionProps, 'children' | 'id'>>;
-
-export type SectionedLayoutProps = {
-  /**
-   * The breadcrumb JSON schema.
-   */
-  breadcrumbSchema: BreadcrumbList['itemListElement'][];
-  /**
-   * An array of objects describing each section.
-   */
-  sections: PageSection[];
-};
-
-/**
- * SectionedLayout component
- *
- * Render a sectioned layout.
- */
-export const SectionedLayout: FC<SectionedLayoutProps> = ({
-  breadcrumbSchema,
-  sections,
-}) => {
-  const getSections = (items: PageSection[]) =>
-    items.map((section, index) => {
-      const variant: SectionVariant = index % 2 ? 'light' : 'dark';
-      const isLastSection = index === items.length - 1;
-
-      return (
-        <Section hasBorder={!isLastSection} key={section.id} variant={variant}>
-          {section.children}
-        </Section>
-      );
-    });
-
-  return (
-    <>
-      <Script
-        dangerouslySetInnerHTML={{ __html: JSON.stringify(breadcrumbSchema) }}
-        // eslint-disable-next-line react/jsx-no-literals -- Id allowed.
-        id="schema-breadcrumb"
-        type="application/ld+json"
-      />
-      {getSections(sections)}
-    </>
-  );
-};
-- 
cgit v1.2.3

