From cfeee10fa899b1a9add8fff9214393d25eb99a06 Mon Sep 17 00:00:00 2001 From: lilleman Date: Wed, 5 Aug 2026 01:58:11 +0200 Subject: [PATCH] Wrap each popover menu and give it a caller-named id --- AGENTS.md | 26 ++++++++++++++++++----- README.md | 7 ++++--- e2e-tests/playwright.config.ts | 8 ++++++- e2e-tests/visual.spec.ts | 2 +- public/css/styles.css | 19 ++++++++++------- src/ui/data-table.test.ts | 6 +++--- src/ui/menu.test.ts | 21 +++++++------------ todo.md | 3 ++- views/partials/data-table.ejs | 12 +++++++++-- views/partials/locale-switch.ejs | 2 ++ views/partials/menu.ejs | 15 +++++++------ views/partials/shell.ejs | 36 ++++++++++++++++++-------------- 12 files changed, 99 insertions(+), 58 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index a5a42a6..f433445 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -171,11 +171,21 @@ them. Revisit only if the stated reason stops holding. - **A dropdown is a `'); }); -test("menu mints its own popover id, so two menus on one page never cross-wire", async () => { - const idOf = (html: string): string => html.match(/popovertarget="([^"]+)"/)?.[1] ?? ""; - - const one = flat(await render()); - const two = flat(await render()); - assert.match(one, new RegExp(`