import React from 'react' import { useLoadingProgress, useSaveVersion, useSocketStore, useWidgetSubOption } from '../../../store/builder/store'; import useModuleStore, { useThreeDStore } from '../../../store/useModuleStore'; import { usePlayButtonStore } from '../../../store/usePlayButtonStore'; import { useSelectedZoneStore } from '../../../store/visualization/useZoneStore'; import { useFloatingWidget } from '../../../store/visualization/useDroppedObjectsStore'; import { useSelectedUserStore } from '../../../store/collaboration/useCollabStore'; import KeyPressListener from '../../../utils/shortcutkeys/handleShortcutKeys'; import LoadingPage from '../../templates/LoadingPage'; import ModuleToggle from '../../ui/ModuleToggle'; import SideBarLeft from '../sidebarLeft/SideBarLeft'; import SideBarRight from '../sidebarRight/SideBarRight'; import RealTimeVisulization from '../../../modules/visualization/RealTimeVisulization'; import MarketPlace from '../../../modules/market/MarketPlace'; import Tools from '../../ui/Tools'; import SimulationPlayer from '../../ui/simulation/simulationPlayer'; import ControlsPlayer from '../controls/ControlsPlayer'; import SelectFloorPlan from '../../temporary/SelectFloorPlan'; import { createHandleDrop } from '../../../modules/visualization/functions/handleUiDrop'; import Scene from '../../../modules/scene/scene'; import { useMainProduct } from '../../../store/simulation/useSimulationStore'; import { useProductContext } from '../../../modules/simulation/products/productContext'; import { useProductStore } from '../../../store/simulation/useProductStore'; import RegularDropDown from '../../ui/inputs/RegularDropDown'; function MainScene() { const { products } = useProductStore(); const { setMainProduct } = useMainProduct(); const { selectedProductStore } = useProductContext(); const { selectedProduct } = selectedProductStore(); const { isVersionSaved } = useSaveVersion(); const { activeModule } = useModuleStore(); const { selectedUser } = useSelectedUserStore(); const { loadingProgress } = useLoadingProgress(); const { toggleThreeD } = useThreeDStore(); const { isPlaying } = usePlayButtonStore(); const { widgetSubOption } = useWidgetSubOption(); const { visualizationSocket } = useSocketStore(); const { selectedZone } = useSelectedZoneStore(); const { setFloatingWidget } = useFloatingWidget(); const handleSelectLayout = (option: string) => { const product = products.find((product) => product.productName === option); if (product) { setMainProduct(product.productId, product.productName); } }; return ( <> {!selectedUser && ( <> {loadingProgress > 0 && } {!isPlaying && ( <> {toggleThreeD && } )} {activeModule === "market" && } {activeModule !== "market" && !isPlaying && !isVersionSaved && ( )} {isPlaying && activeModule === "simulation" && } {isPlaying && activeModule !== "simulation" && } {/* remove this later */} {activeModule === "builder" && !toggleThreeD && } )}
createHandleDrop({ widgetSubOption, visualizationSocket, selectedZone, setFloatingWidget, event, }) } onDragOver={(event) => event.preventDefault()} >
{selectedProduct && isVersionSaved && !isPlaying && (
l.productName)} // Pass layout names as options onSelect={handleSelectLayout} search={false} />
)} ) } export default MainScene