diff --git a/frontend/src/components/maps/LocationMapBottomSheet.jsx b/frontend/src/components/maps/LocationMapBottomSheet.jsx
index 0965a85..0a32625 100644
--- a/frontend/src/components/maps/LocationMapBottomSheet.jsx
+++ b/frontend/src/components/maps/LocationMapBottomSheet.jsx
@@ -179,8 +179,8 @@ export default function LocationMapBottomSheet({
{showPreviewDraftAction ? (
-
diff --git a/frontend/src/components/maps/LocationMapSetupPanel.jsx b/frontend/src/components/maps/LocationMapSetupPanel.jsx
index 4624298..1f06f13 100644
--- a/frontend/src/components/maps/LocationMapSetupPanel.jsx
+++ b/frontend/src/components/maps/LocationMapSetupPanel.jsx
@@ -33,7 +33,7 @@ export default function LocationMapSetupPanel({
Continue Editing
- Preview Draft
+ View Draft
{publishLabel}
diff --git a/frontend/tests/location-map-manager.spec.ts b/frontend/tests/location-map-manager.spec.ts
index 16d7200..4cc14fe 100644
--- a/frontend/tests/location-map-manager.spec.ts
+++ b/frontend/tests/location-map-manager.spec.ts
@@ -361,7 +361,7 @@ test("admin creates a map from zones, saves a draft, and publishes it", async ({
await expect(page).toHaveURL(/\/stores\/100\/locations\/10\/map$/);
await expect(page.locator(".location-map-status")).toHaveText("Unsaved Draft");
- await page.getByRole("button", { name: "Preview Draft" }).click();
+ await page.getByRole("button", { name: "View Draft" }).click();
await expect(page.locator(".location-map-object", { hasText: "Bread Wall" })).toBeVisible();
await expect(page.locator(".location-map-status")).toHaveText("Unsaved Draft");
@@ -387,7 +387,7 @@ test("admin creates a map from zones, saves a draft, and publishes it", async ({
await page.goto("/stores/100/locations/10/map");
await expect(page.locator(".location-map-status")).toHaveText("Draft");
await expect(page.getByRole("heading", { name: "Draft Map" })).toBeVisible();
- await expect(page.getByRole("button", { name: "Preview Draft" })).toBeVisible();
+ await expect(page.getByRole("button", { name: "View Draft" })).toBeVisible();
await expect(page.getByRole("button", { name: "Publish", exact: true })).toBeVisible();
await expect(page.getByRole("button", { name: "Preview Map" })).toHaveCount(0);
await expect(page.getByRole("button", { name: "Publish Map" })).toHaveCount(0);
@@ -1220,7 +1220,7 @@ test("admin status follows the visible map when a saved draft exists", async ({
await expect(page.locator(".location-map-status")).toHaveText("Draft");
await expect(page.locator(".location-map-object", { hasText: "Draft Bakery" })).toBeVisible();
- await page.getByRole("button", { name: "Preview Draft" }).click();
+ await page.getByRole("button", { name: "View Draft" }).click();
await expect(page.locator(".location-map-status")).toHaveText("Draft Preview");
await expect(page.locator(".location-map-object", { hasText: "Draft Bakery" })).toBeVisible();
@@ -1265,7 +1265,7 @@ test("admin edit mode hides unavailable draft actions until changes exist", asyn
const secondaryActions = page.locator(".location-map-secondary-actions");
await expect(page.locator(".location-map-primary-actions")).toHaveCount(0);
await expect(secondaryActions.getByRole("button", { name: "Add Area" })).toBeVisible();
- await expect(secondaryActions.getByRole("button", { name: "Preview Draft" })).toHaveCount(0);
+ await expect(secondaryActions.getByRole("button", { name: "View Draft" })).toHaveCount(0);
await expect(page.getByRole("button", { name: "Save Draft" })).toHaveCount(0);
await expect(page.getByRole("button", { name: "Publish", exact: true })).toHaveCount(0);
@@ -1338,7 +1338,7 @@ test("mode switches close open map layers without resetting filters", async ({ p
await page.getByRole("button", { name: "Edit Draft" }).click();
await page.getByRole("button", { name: "Layers, 1 changed" }).click();
await expect(page.locator(".location-map-display-panel")).toBeVisible();
- await page.getByRole("button", { name: "Preview Draft" }).click();
+ await page.getByRole("button", { name: "View Draft" }).click();
await expect(page.getByRole("button", { name: "Layers, 1 changed" })).toHaveAttribute("aria-expanded", "false");
await expect(page.locator(".location-map-display-panel")).toHaveCount(0);
@@ -1387,7 +1387,7 @@ test("mobile keeps draft preview status compact in the topbar", async ({ page })
await page.goto("/stores/100/locations/10/map");
await page.getByRole("button", { name: "Edit Draft" }).click();
- await page.getByRole("button", { name: "Preview Draft" }).click();
+ await page.getByRole("button", { name: "View Draft" }).click();
const topbar = page.locator(".location-map-topbar");
const backButton = page.getByRole("button", { name: "Back to grocery list" });
@@ -2137,7 +2137,7 @@ test("admin save progress locks draft controls", async ({ page }) => {
await expect(page.getByRole("button", { name: "Saving..." })).toBeDisabled();
await expect(page.getByRole("button", { name: "Publish" })).toBeDisabled();
await expect(page.getByRole("button", { name: "Add Area" })).toBeDisabled();
- await expect(page.getByRole("button", { name: "Preview Draft" })).toHaveCount(0);
+ await expect(page.getByRole("button", { name: "View Draft" })).toHaveCount(0);
await expect(page.getByRole("button", { name: "Undo" })).toBeDisabled();
await expect(page.getByRole("button", { name: "Duplicate" })).toBeDisabled();
await expect(page.getByRole("button", { name: "Delete" })).toBeDisabled();
@@ -4007,7 +4007,7 @@ test("mobile editor uses bottom sheet controls instead of desktop object toolbar
await expect(primaryActions.getByRole("button", { name: "Save Draft" })).toHaveCount(0);
await expect(primaryActions.getByRole("button", { name: "Publish" })).toBeVisible();
await expect(secondaryActions.getByRole("button", { name: "Add Area" })).toBeVisible();
- await expect(secondaryActions.getByRole("button", { name: "Preview Draft" })).toBeVisible();
+ await expect(secondaryActions.getByRole("button", { name: "View Draft" })).toBeVisible();
const primaryActionBox = await primaryActions.boundingBox();
const secondaryActionBox = await secondaryActions.boundingBox();
expect(primaryActionBox).not.toBeNull();
@@ -4067,7 +4067,7 @@ test("mobile editor uses bottom sheet controls instead of desktop object toolbar
await expect(selectedPrimaryActions.getByRole("button", { name: "Save Draft" })).toHaveCount(0);
await expect(selectedPrimaryActions.getByRole("button", { name: "Publish" })).toBeVisible();
await expect(selectedSecondaryActions.getByRole("button", { name: "Add Area" })).toBeVisible();
- await expect(selectedSecondaryActions.getByRole("button", { name: "Preview Draft" })).toHaveCount(0);
+ await expect(selectedSecondaryActions.getByRole("button", { name: "View Draft" })).toHaveCount(0);
await expect(page.getByRole("button", { name: "Bought" })).toHaveCount(0);
const selectedPrimaryBox = await selectedPrimaryActions.boundingBox();
const selectedSecondaryButtonBox = await selectedSecondaryActions.getByRole("button", { name: "Add Area" }).boundingBox();