import React, { useEffect } from 'react'; import { Layout as AntLayout } from 'antd'; import SideMenu from 'App/layout/SideMenu'; import TopHeader from 'App/layout/TopHeader'; import { useStore } from 'App/mstore'; import { observer } from 'mobx-react-lite'; const { Sider, Content } = AntLayout; interface Props { children: React.ReactNode; hideHeader?: boolean; } function Layout(props: Props) { const { hideHeader } = props; const isPlayer = /\/(session|assist|view-spot)\//.test( window.location.pathname, ); const { settingsStore, projectsStore } = useStore(); const [collapsed, setCollapsed] = React.useState(false); const { siteId } = projectsStore; useEffect(() => { const handleResize = () => { const isMobile = window.innerWidth < 1280; if (isMobile) { setCollapsed(true); } else { setCollapsed(false); } }; handleResize(); // Initial check window.addEventListener('resize', handleResize); return () => { window.removeEventListener('resize', handleResize); }; }, []); return ( {!hideHeader && } {!hideHeader && !window.location.pathname.includes('/onboarding/') ? ( ) : null} {props.children} ); } export default observer(Layout);