aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/templates/page/page-sidebar.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-sidebar.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-sidebar.tsx')
-rw-r--r--src/components/templates/page/page-sidebar.tsx20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/components/templates/page/page-sidebar.tsx b/src/components/templates/page/page-sidebar.tsx
new file mode 100644
index 0000000..1b5ae97
--- /dev/null
+++ b/src/components/templates/page/page-sidebar.tsx
@@ -0,0 +1,20 @@
+import { type ForwardRefRenderFunction, forwardRef } from 'react';
+import { Aside, type AsideProps } from '../../atoms';
+import styles from './page.module.scss';
+
+export type PageSidebarProps = AsideProps;
+
+const PageSidebarWithRef: ForwardRefRenderFunction<
+ HTMLElement,
+ PageSidebarProps
+> = ({ children, className = '', ...props }, ref) => {
+ const sidebarClass = `${styles.sidebar} ${className}`;
+
+ return (
+ <Aside {...props} className={sidebarClass} ref={ref}>
+ <div className={styles.sidebar__body}>{children}</div>
+ </Aside>
+ );
+};
+
+export const PageSidebar = forwardRef(PageSidebarWithRef);