Add store location map manager #20

Open
nalalangan wants to merge 206 commits from feature/location-map-manager into feature/store-selector-modal
2 changed files with 25 additions and 6 deletions
Showing only changes of commit 3ac80c9a5b - Show all commits

View File

@ -44,12 +44,25 @@ export default function LocationMapSetupPanel({
No zones are available yet. Create a blank map now, or add zones first for an automatic starter layout.
</p>
) : null}
<button type="button" className="btn-primary" onClick={onCreateFromZones} disabled={saving || !hasZones}>
{createFromZonesLabel}
</button>
<button type="button" className="btn-secondary" onClick={onCreateBlank} disabled={saving}>
Create Blank Map
</button>
{!hasZones ? (
<>
<button type="button" className="btn-primary" onClick={onCreateBlank} disabled={saving}>
Create Blank Map
</button>
<button type="button" className="btn-secondary" onClick={onCreateFromZones} disabled>
{createFromZonesLabel}
</button>
</>
) : (
<>
<button type="button" className="btn-primary" onClick={onCreateFromZones} disabled={saving}>
{createFromZonesLabel}
</button>
<button type="button" className="btn-secondary" onClick={onCreateBlank} disabled={saving}>
Create Blank Map
</button>
</>
)}
</div>
) : null}
</section>

View File

@ -396,6 +396,12 @@ test("admin setup explains when no zones exist yet", async ({ page }) => {
await expect(page.getByText("No zones are available yet.")).toBeVisible();
await expect(page.getByRole("button", { name: "Create From Zones" })).toBeDisabled();
await expect(page.getByRole("button", { name: "Create Blank Map" })).toBeEnabled();
const blankButtonBox = await page.getByRole("button", { name: "Create Blank Map" }).boundingBox();
const fromZonesButtonBox = await page.getByRole("button", { name: "Create From Zones" }).boundingBox();
expect(blankButtonBox).not.toBeNull();
expect(fromZonesButtonBox).not.toBeNull();
if (!blankButtonBox || !fromZonesButtonBox) throw new Error("No-zone setup actions were not measurable");
expect(blankButtonBox.y).toBeLessThan(fromZonesButtonBox.y);
await expect(page.getByLabel("Map controls")).toHaveCount(0);
});