diff --git a/src/apps/officer-web/Screens/Dashboard/Layout/DashboardLayout.tsx b/src/apps/officer-web/Screens/Dashboard/Layout/DashboardLayout.tsx index 55713925..e01daa9b 100644 --- a/src/apps/officer-web/Screens/Dashboard/Layout/DashboardLayout.tsx +++ b/src/apps/officer-web/Screens/Dashboard/Layout/DashboardLayout.tsx @@ -1,6 +1,6 @@ import { useMemo, useRef } from 'react'; import { useLocation } from 'react-router'; -import { useDock, MusicPlayerHost } from 'officerdev'; +import { useDock, MusicPlayerHost, usePanelFullscreen } from 'officerdev'; import { useCapabilities } from 'hooks/useCapabilities'; import { ErrorBoundary } from '@/components/ErrorBoundary'; import { ScreenErrorFallback } from './ScreenErrorFallback'; @@ -24,13 +24,17 @@ export function DashboardLayout({ children }: DashboardLayoutProps) { const isTouch = useIsTouch(); const { pathname } = useLocation(); usePageTitleSync(); + // A panel can maximize into the content region on its own, but it cannot paint over this header — the + // region below is an `absolute z-2` stacking context and the header is a `fixed z-10` sibling of it. So + // "full screen" is cooperative: the panel asks, and the chrome steps aside. + const panelFullscreen = usePanelFullscreen(); // The content region shrinks when the (in-flow) music dock takes its space; the nav dock measures its // reveal boundary from this element, so it always sits just above whatever's at the bottom. const regionRef = useRef(null); return (
-
+