diff --git a/app/src/components/layout/sidebarRight/properties/eventProperties/WallProperties.tsx b/app/src/components/layout/sidebarRight/properties/eventProperties/WallProperties.tsx index a3e09e9..f3cb792 100644 --- a/app/src/components/layout/sidebarRight/properties/eventProperties/WallProperties.tsx +++ b/app/src/components/layout/sidebarRight/properties/eventProperties/WallProperties.tsx @@ -13,23 +13,26 @@ type Material = { textureName: string; }; -// Initial and default material -const initialMaterial: Material = { - texture: wallTexture1, - textureName: "Grunge Concrete Wall", -}; - +// Default and initial materials const defaultMaterial: Material = { texture: defaultTexture, textureName: "Default Material", }; +const initialMaterial: Material = { + texture: wallTexture1, + textureName: "Grunge Concrete Wall", +}; + const WallProperties = () => { const { wallHeight, wallThickness, setWallHeight, setWallThickness } = useBuilderStore(); const [activeSide, setActiveSide] = useState<"side1" | "side2">("side1"); - const [materials, setMaterials] = useState([initialMaterial]); + const [materials, setMaterials] = useState([ + defaultMaterial, + initialMaterial, + ]); const [selectedMaterials, setSelectedMaterials] = useState<{ side1: Material | null; @@ -39,11 +42,11 @@ const WallProperties = () => { side2: null, }); - // Select initial material for both sides on mount + // Set default material initially for both sides useEffect(() => { setSelectedMaterials({ - side1: initialMaterial, - side2: initialMaterial, + side1: defaultMaterial, + side2: defaultMaterial, }); }, []); @@ -71,21 +74,16 @@ const WallProperties = () => { }; const handleRemoveMaterial = (index: number) => { - const updatedMaterials = materials.filter((_, i) => i !== index); + const removedTexture = materials[index].texture; - // Ensure there's always at least one material - const newMaterials = - updatedMaterials.length === 0 ? [defaultMaterial] : updatedMaterials; + const updatedMaterials = materials.filter((_, i) => i !== index); + const newMaterials = updatedMaterials.length === 0 ? [defaultMaterial] : updatedMaterials; setMaterials(newMaterials); - // Deselect the material if it's the one removed setSelectedMaterials((prev) => { const updated = { ...prev }; ["side1", "side2"].forEach((side) => { - if ( - updated[side as "side1" | "side2"]?.texture === - materials[index].texture - ) { + if (updated[side as "side1" | "side2"]?.texture === removedTexture) { updated[side as "side1" | "side2"] = defaultMaterial; } }); @@ -119,42 +117,43 @@ const WallProperties = () => {
-
setActiveSide("side1")} >
Side 1
{selectedMaterials.side1 && ( {selectedMaterials.side1.textureName} )}
-
+ -
setActiveSide("side2")} >
Side 2
{selectedMaterials.side2 && ( {selectedMaterials.side2.textureName} )}
-
+
{selectedMaterials[activeSide] && ( {selectedMaterials[activeSide]!.textureName} @@ -167,29 +166,37 @@ const WallProperties = () => {
No materials added yet.
) : (
- {materials.map((material, index) => ( -
handleSelectMaterial(material)} - > -
-
- {material.textureName} -
-
{material.textureName}
-
-
{ - e.stopPropagation(); - handleRemoveMaterial(index); - }} + {materials.map((material, index) => { + const isSelected = selectedMaterials[activeSide]?.texture === material.texture; + + return ( +
-
- ))} +
+
+ {material.textureName} +
+
{material.textureName}
+
+ + + ); + })}
)}
diff --git a/app/src/components/ui/compareVersion/CompareLayOut.tsx b/app/src/components/ui/compareVersion/CompareLayOut.tsx index e111252..1a5f14c 100644 --- a/app/src/components/ui/compareVersion/CompareLayOut.tsx +++ b/app/src/components/ui/compareVersion/CompareLayOut.tsx @@ -127,7 +127,7 @@ const CompareLayOut = () => { ref={wrapperRef} style={{ width }} > - {loadingProgress == 0 && comparisonProduct && ( + {loadingProgress == 0 && comparisonProduct?.productUuid && (