diff --git a/apps/web/src/components/layout/app-layout.tsx b/apps/web/src/components/layout/app-layout.tsx index 85ed4410..4d89f2c0 100644 --- a/apps/web/src/components/layout/app-layout.tsx +++ b/apps/web/src/components/layout/app-layout.tsx @@ -68,7 +68,13 @@ export function AppLayout({ useEffect(() => { const media = window.matchMedia(MOBILE_SHELL_MEDIA) - const updateMobileShell = () => setMobileShell(media.matches) + const updateMobileShell = () => { + const isMobile = media.matches + setMobileShell(isMobile) + if (isMobile) { + setCollapsed(false) + } + } updateMobileShell() media.addEventListener('change', updateMobileShell) @@ -102,7 +108,10 @@ export function AppLayout({ // Keep the navigation shell in the server-rendered HTML. If a rolling deploy // or stale browser cache delays hydration, the operator still has navigation. const effectiveCollapsed = mounted ? collapsed : false - const shellCollapsed = mobileShell || effectiveCollapsed + const shellCollapsed = effectiveCollapsed + const contentOffsetClass = shellCollapsed + ? mobileShell ? 'ml-[48px]' : 'ml-[64px]' + : 'ml-[224px]' return (