fix(layout): bouton Cancel en z-order propre pendant un tour agent — #151 (QA verte)

Extrait le bouton Cancel du banner inline et le rend en position absolue
(top:24, right:20) avec zIndex CELL_Z.turnActions. Le banner de statut est
décalé (right:76 en état busy) et rétrogradé en CELL_Z.banner, afin que
Cancel reste au premier plan et cliquable sans recouvrement en état busy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-06 14:29:31 +02:00
parent 0f60f625a1
commit a9346476ee
2 changed files with 39 additions and 26 deletions

View File

@ -232,12 +232,19 @@ describe("LayoutGrid — ticket #48 cell control layering", () => {
const cancel = await screen.findByRole("button", {
name: `cancel current turn ${setup.bId}`,
});
const status = cancel.parentElement as HTMLElement;
const status = screen
.getAllByRole("status")
.find((element) => element.textContent === "Busy") as HTMLElement;
const { controls } = controlsFor(setup.bId);
expect(status).toBeTruthy();
expect(cancel.style.position).toBe("absolute");
expect(status.style.top).toBe("24px");
expect(status.style.zIndex).toBe("6");
expect(Number(status.style.zIndex)).toBeGreaterThan(Number(controls.style.zIndex));
expect(status.style.zIndex).toBe("3");
expect(cancel.style.top).toBe("24px");
expect(cancel.style.right).toBe("20px");
expect(cancel.style.zIndex).toBe("6");
expect(Number(cancel.style.zIndex)).toBeGreaterThan(Number(controls.style.zIndex));
expect(screen.queryByRole("button", {
name: `open cell conversation ${setup.bId}`,
})).toBeNull();