From e2128a4ad7a8b8ef3296a25a32d193f2d37c31fc Mon Sep 17 00:00:00 2001 From: Nico Date: Wed, 3 Jun 2026 22:52:51 -0700 Subject: [PATCH] fix: lock canvas recovery while saving --- .../src/components/maps/LocationMapCanvas.jsx | 6 +- .../src/styles/pages/LocationMapManager.css | 5 ++ frontend/tests/location-map-manager.spec.ts | 77 +++++++++++++++++++ 3 files changed, 87 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/maps/LocationMapCanvas.jsx b/frontend/src/components/maps/LocationMapCanvas.jsx index d42a8a8..4c9083c 100644 --- a/frontend/src/components/maps/LocationMapCanvas.jsx +++ b/frontend/src/components/maps/LocationMapCanvas.jsx @@ -39,7 +39,7 @@ export default function LocationMapCanvas({ : 0; const hasNoVisibleObjects = objects.length > 0 && filters.showZones && visibleObjectCount === 0; const canAddFirstArea = - !editingLocked && mode === "edit" && objects.length === 0 && typeof onAddObject === "function"; + mode === "edit" && objects.length === 0 && typeof onAddObject === "function"; const canRecoverHiddenAreas = mode === "edit" && hasNoVisibleObjects && hiddenAreaCount > 0 && typeof onShowHiddenAreas === "function"; const hasEmptyCanvasAction = canAddFirstArea || hiddenByZonesLayer || canRecoverHiddenAreas; @@ -165,11 +165,13 @@ export default function LocationMapCanvas({ const handleAddObject = (event) => { event.stopPropagation(); + if (editingLocked) return; onAddObject?.(); }; const handleShowHiddenAreas = (event) => { event.stopPropagation(); + if (editingLocked) return; onShowHiddenAreas?.(); }; @@ -417,6 +419,7 @@ export default function LocationMapCanvas({ {canAddFirstArea ? (