import { MAP_OBJECT_TYPES } from "../../lib/locationMapUtils";
function objectZoneId(object) {
return object?.zone_id ? String(object.zone_id) : "";
}
const DISPLAY_CONTROLS = [
["showZones", "Zones"],
["showLabels", "Labels"],
["showCounts", "Counts"],
["showPins", "Pins"],
["showMyItems", "Mine"],
["showOtherItems", "Others"],
["showCompleted", "Done"],
["showUnmapped", "Unmapped"],
];
export default function LocationMapBottomSheet({
mode,
editorTool,
canManage,
filters,
setFilters,
layersOpen,
setLayersOpen,
selectedObject,
selectedZoneItems,
visibleUnmappedItems,
history,
future,
saving,
hasUnsavedChanges,
mapState,
onAddObject,
onUndo,
onRedo,
onSaveDraft,
onPublish,
onPreviewDraft,
onPanMode,
onEditObjects,
onEditMode,
onObjectField,
onZoneLinkChange,
onDuplicateObject,
onDeleteObject,
}) {
const selectedTitle = selectedObject?.label || selectedObject?.zone_name || "Map Area";
const selectedItemCountLabel = `${selectedZoneItems.length} item${selectedZoneItems.length === 1 ? "" : "s"}`;
const sheetTitle = mode === "edit"
? selectedObject && editorTool === "edit"
? "Object Settings"
: editorTool === "edit"
? "Edit Objects"
: "Pan Mode"
: selectedObject
? selectedTitle
: "Map Details";
const showEditorControls = mode === "edit" && canManage;
const showSelectedObjectForm = Boolean(mode === "edit" && editorTool === "edit" && selectedObject);
const editorActions = showEditorControls ? (
) : canManage && mapState?.published_map ? (
) : null;
return (
);
}