diff --git a/frontend/src/components/maps/LocationMapBottomSheet.jsx b/frontend/src/components/maps/LocationMapBottomSheet.jsx
index f084b0e..5426ca5 100644
--- a/frontend/src/components/maps/LocationMapBottomSheet.jsx
+++ b/frontend/src/components/maps/LocationMapBottomSheet.jsx
@@ -27,7 +27,9 @@ export default function LocationMapBottomSheet({
layersOpen,
setLayersOpen,
selectedObject,
+ mapObjects = [],
selectedZoneItems,
+ visibleAssignedItemCount = 0,
visibleUnmappedItems,
unmappedItemCount,
hiddenAreaCount,
@@ -67,6 +69,12 @@ export default function LocationMapBottomSheet({
const showEditorControls = mode === "edit" && canManage;
const showSelectedObjectForm = Boolean(mode === "edit" && editorTool === "edit" && selectedObject);
const changedLayerCount = DISPLAY_CONTROLS.filter(([key]) => filters[key] !== DEFAULT_MAP_FILTERS[key]).length;
+ const assignedItemCount = (mapState?.items || []).filter((item) => item.zone_id).length;
+ const totalAreaCount = mapObjects.length;
+ const visibleAreaCount = filters.showZones
+ ? Math.max(0, totalAreaCount - hiddenAreaCount)
+ : 0;
+ const showMapOverview = mode !== "edit" && !selectedObject;
const unmappedItemPreview = visibleUnmappedItems.slice(0, 8);
const overflowUnmappedItemCount = visibleUnmappedItems.length - unmappedItemPreview.length;
const hiddenUnmappedItemCount = Math.max(0, unmappedItemCount - visibleUnmappedItems.length);
@@ -75,6 +83,14 @@ export default function LocationMapBottomSheet({
const hiddenAreaLabel = `Show Hidden Areas (${hiddenAreaCount})`;
const saveDraftLabel = savingAction === "save" ? "Saving..." : "Save Draft";
const publishLabel = savingAction === "publish" ? "Publishing..." : "Publish";
+ const mappedItemSummary = assignedItemCount === visibleAssignedItemCount
+ ? String(assignedItemCount)
+ : `${visibleAssignedItemCount} shown`;
+ const unmappedItemSummary = !filters.showUnmapped && unmappedItemCount > 0
+ ? `${unmappedItemCount} hidden`
+ : visibleUnmappedItems.length === unmappedItemCount
+ ? String(unmappedItemCount)
+ : `${visibleUnmappedItems.length} shown`;
const resetLayerFilters = () => setFilters({ ...DEFAULT_MAP_FILTERS });
const showSelectedZoneItems = () => {
setFilters((current) => ({
@@ -200,6 +216,23 @@ export default function LocationMapBottomSheet({
) : null}
+ {showMapOverview ? (
+
+
+ Areas
+ {filters.showZones ? `${visibleAreaCount} shown` : "Hidden"}
+
+
+ Mapped items
+ {mappedItemSummary}
+
+
+ Unmapped
+ {unmappedItemSummary}
+
+
+ ) : null}
+
{mode === "edit" && editorTool === "edit" && selectedObject ? (