import React from "react"; import { useLoadingProgress, useSaveVersion, useSocketStore, useViewSceneStore, 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 { useComparisonProduct, useMainProduct, } from "../../../store/simulation/useSimulationStore"; import { useProductContext } from "../../../modules/simulation/products/productContext"; import { useProductStore } from "../../../store/simulation/useProductStore"; import RegularDropDown from "../../ui/inputs/RegularDropDown"; import InputToggle from "../../ui/inputs/InputToggle"; 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 { viewSceneLabels, setViewSceneLabels } = useViewSceneStore(); const { comparisonProduct } = useComparisonProduct(); 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" && (
setViewSceneLabels(!viewSceneLabels)} />
)} {(isPlaying || comparisonProduct !== null) && activeModule === "simulation" && loadingProgress == 0 && } {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;