aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/templates/page/page-body.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-11-20 12:27:46 +0100
committerArmand Philippot <git@armandphilippot.com>2023-11-20 19:32:09 +0100
commit70b4f633a6fbedb58c8b9134ac64ede854d489de (patch)
treec757bb12ad9a588e23b25cdb8b46710ac14dbcb1 /src/components/templates/page/page-body.tsx
parent9a481f066e1427d53a06cf7aeec525a745abf03f (diff)
refactor(components): replace PageLayout template with Page
* split pages in smaller components (it is both easier to maintain and more readable, we avoid the use of fragments in pages directory) * extract breadcrumbs from article tag (the navigation is not related to the page contents) * remove useReadingTime hook * remove layout options except `isHome`
Diffstat (limited to 'src/components/templates/page/page-body.tsx')
-rw-r--r--src/components/templates/page/page-body.tsx23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/components/templates/page/page-body.tsx b/src/components/templates/page/page-body.tsx
new file mode 100644
index 0000000..df69731
--- /dev/null
+++ b/src/components/templates/page/page-body.tsx
@@ -0,0 +1,23 @@
+import {
+ type ForwardRefRenderFunction,
+ type HTMLAttributes,
+ forwardRef,
+} from 'react';
+import styles from './page.module.scss';
+
+export type PageBodyProps = HTMLAttributes<HTMLDivElement>;
+
+const PageBodyWithRef: ForwardRefRenderFunction<
+ HTMLDivElement,
+ PageBodyProps
+> = ({ children, className = '', ...props }, ref) => {
+ const bodyClass = `${styles.body} ${className}`;
+
+ return (
+ <div {...props} className={bodyClass} ref={ref}>
+ {children}
+ </div>
+ );
+};
+
+export const PageBody = forwardRef(PageBodyWithRef);