From 371dd8e2a612b8e61d48366fa0bf40673b3e521b Mon Sep 17 00:00:00 2001 From: Lee Chase Date: Wed, 5 Nov 2025 18:42:09 +0000 Subject: [PATCH 1/2] feat: use composition for page layout components --- src/layouts/page-layout.jsx | 31 ++++++++++++++++++------------- src/pages/dashboard/Dashboard.jsx | 4 ++++ 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/layouts/page-layout.jsx b/src/layouts/page-layout.jsx index 36ec95c..203fd36 100644 --- a/src/layouts/page-layout.jsx +++ b/src/layouts/page-layout.jsx @@ -6,18 +6,21 @@ */ import { Content, Theme } from '@carbon/react'; -import { Suspense } from 'react'; +import { Children, Suspense } from 'react'; import { Nav } from '../components/nav/Nav'; import classNames from 'classnames'; import { useThemeContext } from '../context/ThemeContext'; -export const PageLayout = ({ - children, - className, - fallback, - renderPageHeader, -}) => { +export const PageLayout = ({ children, className, fallback }) => { const { theme } = useThemeContext(); + const childArray = Children.toArray(children); + console.log(childArray); + const otherChildren = childArray.filter( + (child) => child.type !== PageLayoutHeader, + ); + const Header = childArray.find((child) => child.type === PageLayoutHeader); + + console.log(Header); return ( @@ -25,15 +28,17 @@ export const PageLayout = ({