import { FC, ReactNode, useState } from 'react'; import { Box, createTheme, ThemeProvider } from '@mui/material'; import { createStore, GlobalAppState, loadInitStorage, StoreData } from '../../core/shareObject/globalAppState'; import { useEffectOnce } from '../../hook/useEffectOnce'; type AppProps = { children: ReactNode; header?: ReactNode; footer?: ReactNode; stickyHeader?: boolean; }; export const BrjApp: FC = ({ children, header, footer, stickyHeader }) => { const [storeDataCache, setStoreDataCache] = useState({}); useEffectOnce(() => setStoreDataCache(loadInitStorage())); const { theme } = storeDataCache; return ( {stickyHeader ? ( {header} ) : ( header )} {stickyHeader ? {children} : children} {footer} ); };