import { useEffect, useState } from 'react' import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@/components/ui/resizable' import { StudioDialogs } from '@/features/studio/components/StudioDialogs' import { StudioInspector } from '@/features/studio/components/StudioInspector' import { StudioStage } from '@/features/studio/components/StudioStage' import type { StudioController } from '@/features/studio/useStudioController' const STACKED_LAYOUT_QUERY = '(max-width: 980px)' export function StudioView(controller: StudioController) { const [stackedLayout, setStackedLayout] = useState( () => window.matchMedia(STACKED_LAYOUT_QUERY).matches ) useEffect(() => { const mediaQuery = window.matchMedia(STACKED_LAYOUT_QUERY) const updateStackedLayout = () => setStackedLayout(mediaQuery.matches) mediaQuery.addEventListener('change', updateStackedLayout) return () => mediaQuery.removeEventListener('change', updateStackedLayout) }, []) return (
{stackedLayout ? ( ) : (
)}
) }