From fa5c7eebaa4ef3deee26aaca2b8c6633d63e67e1 Mon Sep 17 00:00:00 2001 From: Jerald-Golden-B Date: Thu, 5 Jun 2025 16:30:16 +0530 Subject: [PATCH] refactor: update aisle retrieval methods for consistency and improve point handling --- .../builder/aisle/aisleCreator/aisleCreator.tsx | 1 - app/src/modules/builder/point/point.tsx | 14 +++++++------- app/src/store/builder/useAisleStore.ts | 8 ++++---- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/app/src/modules/builder/aisle/aisleCreator/aisleCreator.tsx b/app/src/modules/builder/aisle/aisleCreator/aisleCreator.tsx index 14fc466..f4fa0e4 100644 --- a/app/src/modules/builder/aisle/aisleCreator/aisleCreator.tsx +++ b/app/src/modules/builder/aisle/aisleCreator/aisleCreator.tsx @@ -98,7 +98,6 @@ function AisleCreator() { aisleWidth: aisleWidth } }; - console.log('aisle: ', aisle); addAisle(aisle); if (projectId) { createAisleApi(aisle.aisleUuid, aisle.points, aisle.type, projectId) diff --git a/app/src/modules/builder/point/point.tsx b/app/src/modules/builder/point/point.tsx index 5b325e9..e4153cb 100644 --- a/app/src/modules/builder/point/point.tsx +++ b/app/src/modules/builder/point/point.tsx @@ -19,7 +19,7 @@ function Point({ point }: { readonly point: Point }) { const plane = useMemo(() => new THREE.Plane(new THREE.Vector3(0, 1, 0), 0), []); const [isHovered, setIsHovered] = useState(false); const { toolMode } = useToolMode(); - const { setPosition: setAislePosition, removePoint: removeAislePoint, getAisleByPointId } = useAisleStore(); + const { setPosition: setAislePosition, removePoint: removeAislePoint, getAislesByPointId } = useAisleStore(); const { setPosition: setWallPosition, removePoint: removeWallPoint } = useWallStore(); const { snapPosition } = useAislePointSnapping(point); const { checkSnapForAisle } = usePointSnapping({ uuid: point.pointUuid, pointType: point.pointType, position: point.position }); @@ -100,7 +100,7 @@ function Point({ point }: { readonly point: Point }) { const aisleSnappedPosition = snapPosition(newPosition); const finalSnappedPosition = checkSnapForAisle(aisleSnappedPosition.position); - const aislePoints = setAislePosition(point.pointUuid, finalSnappedPosition.position); + setAislePosition(point.pointUuid, finalSnappedPosition.position); } } else if (point.pointType === 'Wall') { @@ -116,11 +116,11 @@ function Point({ point }: { readonly point: Point }) { const handleDragEnd = (point: Point) => { if (deletePointOrLine) return; if (point.pointType === 'Aisle') { - const aisle = getAisleByPointId(point.pointUuid); - if (aisle && projectId) { - // console.log('Aisle after drag: ', aisle); - createAisleApi(aisle.aisleUuid, aisle.points, aisle.type, projectId) - + const updatedAisles = getAislesByPointId(point.pointUuid); + if (updatedAisles.length > 0 && projectId) { + updatedAisles.forEach((updatedAisle) => { + createAisleApi(updatedAisle.aisleUuid, updatedAisle.points, updatedAisle.type, projectId) + }) } } else if (point.pointType === 'Wall') { // console.log('Wall after drag: ', point); diff --git a/app/src/store/builder/useAisleStore.ts b/app/src/store/builder/useAisleStore.ts index 7dc3ac5..a43b55e 100644 --- a/app/src/store/builder/useAisleStore.ts +++ b/app/src/store/builder/useAisleStore.ts @@ -41,7 +41,7 @@ interface AisleStore { ) => void; getAisleById: (uuid: string) => Aisle | undefined; - getAisleByPointId: (uuid: string) => Aisle | undefined; + getAislesByPointId: (uuid: string) => Aisle[] | []; getAislePointById: (uuid: string) => Point | undefined; getConnectedPoints: (uuid: string) => Point[] | []; getAisleType: (uuid: string) => T | undefined; @@ -211,10 +211,10 @@ export const useAisleStore = create()( return get().aisles.find((a) => a.aisleUuid === uuid); }, - getAisleByPointId: (uuid) => { - return get().aisles.find((a) => { + getAislesByPointId: (uuid) => { + return get().aisles.filter((a) => { return a.points.some((p) => p.pointUuid === uuid); - }); + }) }, getAislePointById: (uuid) => {