diff --git a/packages/ui/src/App.tsx b/packages/ui/src/App.tsx index 65dd00db..286f9325 100644 --- a/packages/ui/src/App.tsx +++ b/packages/ui/src/App.tsx @@ -119,7 +119,20 @@ const AppWrapper = () => { const isPageEditor = location.pathname.includes('/pages/') && searchParams.get('edit') === 'true'; const isFullScreenPage = location.pathname.startsWith('/video-feed') || isPageEditor; - const containerClassName = isFullScreenPage + const isFileBrowserShellRoute = + location.pathname.startsWith('/app/filebrowser') || + location.pathname.startsWith('/playground/vfs'); + const fileBrowserImmersive = useAppStore((s) => s.fileBrowserImmersive); + const setFileBrowserImmersive = useAppStore((s) => s.setFileBrowserImmersive); + + React.useEffect(() => { + if (!isFileBrowserShellRoute) setFileBrowserImmersive(false); + }, [location.pathname, isFileBrowserShellRoute, setFileBrowserImmersive]); + + const hideAppChrome = + isFullScreenPage || (fileBrowserImmersive && isFileBrowserShellRoute); + + const containerClassName = hideAppChrome ? "flex flex-col min-h-svh transition-colors duration-200 h-full" : "mx-auto max-w-[1400px] flex flex-col min-h-svh transition-colors duration-200 h-full"; @@ -128,9 +141,9 @@ const AppWrapper = () => { const ecommerce = import.meta.env.VITE_ENABLE_ECOMMERCE === 'true'; return (
- {!isFullScreenPage && } + {!hideAppChrome && } -
+
{/* Top-level routes (no organization context) */} } /> @@ -230,7 +243,7 @@ const AppWrapper = () => { Loading...
}>} /> - {!isFullScreenPage && showGlobalFooter &&