"use client" import { useEffect, useLayoutEffect, type ReactNode } from "react" import { DriveSidebar } from "@/components/drive/drive-sidebar" import { AiChatPanel } from "@/components/ai/ai-chat-panel" import { FilePreviewDialog } from "@/components/drive/file-preview-dialog" import { ShareDialog } from "@/components/drive/share-dialog" import { SuiteThemeShell } from "@/components/suite/suite-theme-shell" import { useIsMobile } from "@/hooks/use-mobile" import { DriveRouteRootProvider } from "@/lib/drive/drive-route-context" import { useDriveUIStore } from "@/lib/stores/drive-ui-store" export function DriveAppShell({ children, routeRoot, }: { children: ReactNode routeRoot?: string }) { const isMobile = useIsMobile() const sidebarCollapsed = useDriveUIStore((s) => s.sidebarCollapsed) const setSidebarCollapsed = useDriveUIStore((s) => s.setSidebarCollapsed) const sidebarOpen = !sidebarCollapsed useLayoutEffect(() => { if (!isMobile) setSidebarCollapsed(false) }, [isMobile, setSidebarCollapsed]) useEffect(() => { if (isMobile) setSidebarCollapsed(true) }, [isMobile, setSidebarCollapsed]) return (
{isMobile && sidebarOpen && (
) }