import FuseDialog from '@fuse/core/FuseDialog'; import { styled } from '@mui/material/styles'; import FuseMessage from '@fuse/core/FuseMessage'; import FuseSuspense from '@fuse/core/FuseSuspense'; import clsx from 'clsx'; import { memo, useContext } from 'react'; import { useSelector } from 'react-redux'; import { useRoutes } from 'react-router-dom'; import AppContext from 'app/AppContext'; import { selectFuseCurrentLayoutConfig } from 'app/store/fuse/settingsSlice'; import FooterLayout3 from './components/FooterLayout3'; import LeftSideLayout3 from './components/LeftSideLayout3'; import NavbarWrapperLayout3 from './components/NavbarWrapperLayout3'; import RightSideLayout3 from './components/RightSideLayout3'; import ToolbarLayout3 from './components/ToolbarLayout3'; import SettingsPanel from '../shared-components/SettingsPanel'; const Root = styled('div')(({ theme, config }) => ({ ...(config.mode === 'boxed' && { clipPath: 'inset(0)', maxWidth: `${config.containerWidth}px`, margin: '0 auto', boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)', }), ...(config.mode === 'container' && { '& .container': { maxWidth: `${config.containerWidth}px`, width: '100%', margin: '0 auto', }, }), })); function Layout3(props) { const config = useSelector(selectFuseCurrentLayoutConfig); const appContext = useContext(AppContext); const { routes } = appContext; return ( {config.leftSidePanel.display && }
{config.navbar.display && ( )} {config.toolbar.display && ( )}
{useRoutes(routes)} {props.children}
{config.footer.display && ( )}
{config.rightSidePanel.display && }
); } export default memo(Layout3);