diff --git a/frontend/src/components/maps/LocationMapBottomSheet.jsx b/frontend/src/components/maps/LocationMapBottomSheet.jsx
index 39ce0c6..f9cddfc 100644
--- a/frontend/src/components/maps/LocationMapBottomSheet.jsx
+++ b/frontend/src/components/maps/LocationMapBottomSheet.jsx
@@ -29,6 +29,7 @@ export default function LocationMapBottomSheet({
history,
future,
saving,
+ savingAction,
hasUnsavedChanges,
mapState,
onAddObject,
@@ -74,6 +75,8 @@ export default function LocationMapBottomSheet({
const changedLayerCount = DISPLAY_CONTROLS.filter(([key]) => filters[key] !== DEFAULT_MAP_FILTERS[key]).length;
const unmappedItemPreview = visibleUnmappedItems.slice(0, 8);
const hiddenUnmappedItemCount = visibleUnmappedItems.length - unmappedItemPreview.length;
+ const saveDraftLabel = savingAction === "save" ? "Saving..." : "Save Draft";
+ const publishLabel = savingAction === "publish" ? "Publishing..." : "Publish";
const showSelectedZoneItems = () => {
setFilters((current) => ({
...current,
@@ -85,21 +88,23 @@ export default function LocationMapBottomSheet({
const editorActions = showEditorControls ? (
-
+
-
-
-
-
+
+
+
+
) : canManage && mapState?.published_map ? (
@@ -172,6 +177,7 @@ export default function LocationMapBottomSheet({
type="button"
className={[editorTool === "pan" ? "active" : "", "is-pan"].filter(Boolean).join(" ")}
onClick={onPanMode}
+ disabled={saving}
>
Pan
@@ -179,6 +185,7 @@ export default function LocationMapBottomSheet({
type="button"
className={[editorTool === "edit" ? "active" : "", "is-edit"].filter(Boolean).join(" ")}
onClick={onEditObjects}
+ disabled={saving}
>
Objects
@@ -191,6 +198,7 @@ export default function LocationMapBottomSheet({
Label
onObjectField("label", event.target.value)}
/>
@@ -199,6 +207,7 @@ export default function LocationMapBottomSheet({