diff options
| author | Armand Philippot <git@armandphilippot.com> | 2023-11-20 12:27:46 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2023-11-20 19:32:09 +0100 |
| commit | 70b4f633a6fbedb58c8b9134ac64ede854d489de (patch) | |
| tree | c757bb12ad9a588e23b25cdb8b46710ac14dbcb1 /src/components/templates/page/page-body.tsx | |
| parent | 9a481f066e1427d53a06cf7aeec525a745abf03f (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.tsx | 23 |
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); |
