fix: clear hidden map area selection

This commit is contained in:
Nico 2026-06-03 21:25:23 -07:00
parent 1bcf4ea6d1
commit 5b8b7ee2b8
2 changed files with 14 additions and 0 deletions

View File

@ -189,6 +189,15 @@ export default function LocationMapManager() {
}
}, [editorTool, mode]);
useEffect(() => {
if (!selectedObjectKey) return;
const selectedMapObject = objects.find((object) => getObjectKey(object) === selectedObjectKey);
if (!selectedMapObject || !filters.showZones || selectedMapObject.visible === false) {
setSelectedObjectKey(null);
}
}, [filters.showZones, objects, selectedObjectKey]);
const remember = (currentObjects = objects) => {
setHistory((previous) => [...previous.slice(-19), currentObjects.map((object) => ({ ...object }))]);
setFuture([]);

View File

@ -1171,11 +1171,16 @@ test("viewer explains when the zones layer hides the map", async ({ page }) => {
await page.goto("/stores/100/locations/10/map");
await expect(page.getByRole("button", { name: "Map area Bakery" })).toBeVisible();
await page.getByRole("button", { name: "Map area Bakery" }).click();
await expect(page.locator(".location-map-sheet-header strong")).toHaveText("Bakery");
await expect(page.locator(".location-map-sheet-count")).toHaveText("2 items");
await page.getByRole("button", { name: "Layers" }).click();
await page.getByLabel("Zones").uncheck();
await expect(page.getByRole("button", { name: "Map area Bakery" })).toHaveCount(0);
await expect(page.locator(".location-map-sheet-header strong")).toHaveText("Map Details");
await expect(page.locator(".location-map-sheet-count")).toHaveCount(0);
await expect(page.getByText("Zones hidden in Layers")).toBeVisible();
await expect(page.getByRole("button", { name: "Show Zones" })).toBeVisible();
await expect(page.getByRole("button", { name: "Layers, 1 changed" })).toBeVisible();