2025-06-30 16:59:27 +05:30
|
|
|
import { useEffect } from 'react';
|
2025-08-26 14:43:38 +05:30
|
|
|
import { useToggleView, useToolMode } from '../../../store/builder/store';
|
2025-06-30 16:59:27 +05:30
|
|
|
import { useBuilderStore } from '../../../store/builder/useBuilderStore';
|
|
|
|
|
import { useVersionContext } from '../version/versionContext';
|
|
|
|
|
import { useSceneContext } from '../../scene/sceneContext';
|
|
|
|
|
import { useParams } from 'react-router-dom';
|
|
|
|
|
import useModuleStore from '../../../store/useModuleStore';
|
2025-06-30 16:21:54 +05:30
|
|
|
import WallAssetCreator from './wallAssetCreator'
|
|
|
|
|
import WallAssetInstances from './Instances/wallAssetInstances'
|
2025-07-02 10:49:07 +05:30
|
|
|
import { getWallAssetsApi } from '../../../services/factoryBuilder/asset/wallAsset/getWallAssetsApi';
|
2025-06-30 16:21:54 +05:30
|
|
|
|
|
|
|
|
function WallAssetGroup() {
|
2025-08-26 14:43:38 +05:30
|
|
|
const { toggleView } = useToggleView();
|
|
|
|
|
const { setSelectedWallAsset, setDeletableWallAsset } = useBuilderStore();
|
2025-06-30 16:59:27 +05:30
|
|
|
const { activeModule } = useModuleStore();
|
2025-08-26 14:43:38 +05:30
|
|
|
const { toolMode } = useToolMode();
|
2025-06-30 16:59:27 +05:30
|
|
|
const { selectedVersionStore } = useVersionContext();
|
|
|
|
|
const { selectedVersion } = selectedVersionStore();
|
|
|
|
|
const { wallAssetStore } = useSceneContext();
|
|
|
|
|
const { setWallAssets } = wallAssetStore();
|
|
|
|
|
const { projectId } = useParams();
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
2025-08-26 14:43:38 +05:30
|
|
|
if (toggleView || activeModule !== 'builder' || toolMode !== 'cursor') {
|
|
|
|
|
setSelectedWallAsset(null);
|
2025-06-30 16:59:27 +05:30
|
|
|
}
|
2025-06-30 18:11:37 +05:30
|
|
|
setDeletableWallAsset(null);
|
2025-08-26 14:43:38 +05:30
|
|
|
}, [toggleView, activeModule, toolMode])
|
2025-06-30 16:59:27 +05:30
|
|
|
|
2025-07-02 10:49:07 +05:30
|
|
|
useEffect(() => {
|
|
|
|
|
if (projectId && selectedVersion) {
|
|
|
|
|
getWallAssetsApi(projectId, selectedVersion?.versionId || '').then((wallAssets) => {
|
|
|
|
|
if (wallAssets && wallAssets.length > 0) {
|
|
|
|
|
setWallAssets(wallAssets);
|
|
|
|
|
} else {
|
|
|
|
|
setWallAssets([]);
|
|
|
|
|
}
|
|
|
|
|
}).catch((err) => {
|
|
|
|
|
console.log(err);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}, [projectId, selectedVersion?.versionId])
|
|
|
|
|
|
2025-06-30 16:21:54 +05:30
|
|
|
return (
|
|
|
|
|
<>
|
|
|
|
|
|
|
|
|
|
<WallAssetCreator />
|
|
|
|
|
|
|
|
|
|
<WallAssetInstances />
|
|
|
|
|
|
|
|
|
|
</>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default WallAssetGroup
|