diff --git a/app/src/components/layout/scenes/MainScene.tsx b/app/src/components/layout/scenes/MainScene.tsx index 6b55a26..d078765 100644 --- a/app/src/components/layout/scenes/MainScene.tsx +++ b/app/src/components/layout/scenes/MainScene.tsx @@ -3,6 +3,7 @@ import { useLoadingProgress, useRenameModeStore, useSaveVersion, + useSelectedAssets, useSelectedComment, useSelectedFloorItem, useSocketStore, @@ -58,6 +59,7 @@ function MainScene() { const { setFloatingWidget } = useFloatingWidget(); const { clearComparisonProduct } = useComparisonProduct(); const { selectedFloorItem, setSelectedFloorItem } = useSelectedFloorItem(); + const { selectedAssets } = useSelectedAssets(); const { assetStore, productStore } = useSceneContext(); const { products } = productStore(); const { setName } = assetStore(); @@ -97,18 +99,35 @@ function MainScene() { const handleObjectRename = async (newName: string) => { if (!projectId) return - let response = await setAssetsApi({ - modelUuid: selectedFloorItem.userData.modelUuid, - modelName: newName, - projectId - }); - selectedFloorItem.userData = { - ...selectedFloorItem.userData, - modelName: newName - }; - setSelectedFloorItem(selectedFloorItem); - setIsRenameMode(false); - setName(selectedFloorItem.userData.modelUuid, response.modelName); + if (selectedFloorItem) { + setAssetsApi({ + modelUuid: selectedFloorItem.userData.modelUuid, + modelName: newName, + projectId + }).then(() => { + selectedFloorItem.userData = { + ...selectedFloorItem.userData, + modelName: newName + }; + setSelectedFloorItem(selectedFloorItem); + setIsRenameMode(false); + setName(selectedFloorItem.userData.modelUuid, newName); + }) + } else if (selectedAssets.length === 1) { + setAssetsApi({ + modelUuid: selectedAssets[0].userData.modelUuid, + modelName: newName, + projectId + }).then(() => { + selectedAssets[0].userData = { + ...selectedAssets[0].userData, + modelName: newName + }; + setAssetsApi(selectedAssets); + setIsRenameMode(false); + setName(selectedAssets[0].userData.modelUuid, newName); + }) + } } return ( @@ -135,7 +154,7 @@ function MainScene() { {(isPlaying) && activeModule !== "simulation" && } - {isRenameMode && selectedFloorItem?.userData.modelName && } + {isRenameMode && (selectedFloorItem?.userData.modelName || selectedAssets.length === 1) && } {/* remove this later */} {activeModule === "builder" && !toggleThreeD && } @@ -188,7 +207,7 @@ function MainScene() { {activeModule !== "market" && !selectedUser &&