From a45f02b727117ba13bf5d0b092c91d5a404f1b86 Mon Sep 17 00:00:00 2001 From: Nico Date: Thu, 4 Jun 2026 18:39:51 -0700 Subject: [PATCH] fix: hide zero draft summary rows --- .../src/components/maps/LocationMapBottomSheet.jsx | 11 ++++++----- frontend/tests/location-map-manager.spec.ts | 6 ++++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/maps/LocationMapBottomSheet.jsx b/frontend/src/components/maps/LocationMapBottomSheet.jsx index 8ee6528..52da9e9 100644 --- a/frontend/src/components/maps/LocationMapBottomSheet.jsx +++ b/frontend/src/components/maps/LocationMapBottomSheet.jsx @@ -108,6 +108,11 @@ export default function LocationMapBottomSheet({ [mapObjects] ); const showDraftOverview = mode === "edit" && editorTool === "edit" && !selectedObject; + const draftOverviewRows = [ + { label: "Areas", value: totalAreaCount }, + ...(hiddenAreaCount > 0 ? [{ label: "Hidden", value: hiddenAreaCount }] : []), + ...(unlinkedAreaCount > 0 ? [{ label: "Unlinked", value: unlinkedAreaCount }] : []), + ]; const hiddenUnmappedItemCount = Math.max(0, unmappedItemCount - visibleUnmappedItems.length); const hasHiddenUnmappedItems = filters.showUnmapped && unmappedItemCount > 0 && visibleUnmappedItems.length === 0; @@ -258,11 +263,7 @@ export default function LocationMapBottomSheet({ {showDraftOverview ? ( ) : null} diff --git a/frontend/tests/location-map-manager.spec.ts b/frontend/tests/location-map-manager.spec.ts index 73228d5..b504337 100644 --- a/frontend/tests/location-map-manager.spec.ts +++ b/frontend/tests/location-map-manager.spec.ts @@ -1548,6 +1548,12 @@ test("admin selecting an object does not mark a draft dirty until it changes", a await page.getByRole("button", { name: "Continue Editing" }).click(); await page.getByRole("button", { name: "Edit Areas" }).click(); + const summary = page.getByLabel("Draft map summary"); + await expect(summary.locator(".location-map-overview-row")).toHaveCount(1); + await expect(summary.locator(".location-map-overview-row", { hasText: "Areas" }).locator("strong")).toHaveText("1"); + await expect(summary.locator(".location-map-overview-row", { hasText: "Hidden" })).toHaveCount(0); + await expect(summary.locator(".location-map-overview-row", { hasText: "Unlinked" })).toHaveCount(0); + const bakeryObject = page.locator(".location-map-object", { hasText: "Bakery" }).locator("rect").first(); await bakeryObject.click();