import type {VFC} from 'react' import React from 'react' import TransformControlsModeSelect from './TransformControlsModeSelect' import {useEditorStore} from '../store' import shallow from 'zustand/shallow' import ReferenceWindow from './ReferenceWindow' import TransformControlsSpaceSelect from './TransformControlsSpaceSelect' import ViewportShadingSelect from './ViewportShadingSelect' import {AiFillEye, GiPocketBow, RiFocus3Line} from 'react-icons/all' import {Vector3} from 'three' import {IconButton, Button, SettingsButton} from './elements' import ViewportSettings from './ViewportSettings' import type {$FixMe} from '@theatre/shared/utils/types' import studio from '@theatre/studio' import {getSelected} from './useSelected' import {useVal} from '@theatre/dataverse-react' const UI: VFC = () => { const [ editorObject, transformControlsMode, transformControlsSpace, viewportShading, setTransformControlsMode, setTransformControlsSpace, setViewportShading, ] = useEditorStore( (state) => [ state.editorObject, state.transformControlsMode, state.transformControlsSpace, state.viewportShading, state.setTransformControlsMode, state.setTransformControlsSpace, state.setViewportShading, ], shallow, ) const referenceWindowSize = useVal(editorObject?.props.referenceWindowSize) ?? 120 if (!editorObject) return <>> return (