diff --git a/frontend/src/components/sidebar.css b/frontend/src/components/sidebar.css index 15f5f11..f90c957 100644 --- a/frontend/src/components/sidebar.css +++ b/frontend/src/components/sidebar.css @@ -224,7 +224,7 @@ position: fixed; top: 0; right: var(--chat-space, 0px); - z-index: 1002; + z-index: 30; background: var(--surface); display: flex; align-items: center; diff --git a/frontend/tests/sidebar.spec.ts b/frontend/tests/sidebar.spec.ts index 7b553de..d37dbae 100644 --- a/frontend/tests/sidebar.spec.ts +++ b/frontend/tests/sidebar.spec.ts @@ -62,6 +62,18 @@ test("sidebar geometry, recent navigation, user menu and compact tools", async ( ).toHaveAttribute("aria-current", "page"); await page.getByRole("button", { name: "同步任务", exact: true }).click(); await expect(page.locator(".job-panel")).toBeVisible(); + // The drawer must receive pointer events where the global tools sit behind it. + await expect.poll(() => + page.getByRole("toolbar").getByRole("button").evaluateAll((buttons) => + buttons.every((button) => { + const rect = button.getBoundingClientRect(); + return Boolean(document.elementFromPoint( + rect.x + rect.width / 2, + rect.y + rect.height / 2, + )?.closest(".job-panel")); + }), + ), + ).toBe(true); await page.locator(".job-panel .semi-sidesheet-close").click(); await expect(page.locator(".job-panel")).not.toBeVisible(); await page.getByRole("button", { name: "切换研究助手" }).click();