From ef271652dfc95b50fec476dc329274783c84d13f Mon Sep 17 00:00:00 2001 From: Yvv Date: Sat, 31 Oct 2026 00:11:13 +0100 Subject: [PATCH] =?UTF-8?q?v3=20:=20=C2=AB=20Voter=20en=20lot=20=C2=BB=20s?= =?UTF-8?q?ur=20sa=20propre=20ligne,=20au-dessus=20des=20vues=20;=20C23=20?= =?UTF-8?q?se=20donne=20le=20temps=20de=20la=20cha=C3=AEne?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- web/e2e/vote.spec.ts | 4 ++++ .../routes/g/[group]/docs/[doc]/+page.svelte | 17 +++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/web/e2e/vote.spec.ts b/web/e2e/vote.spec.ts index c8bacaa..decdaf3 100644 --- a/web/e2e/vote.spec.ts +++ b/web/e2e/vote.spec.ts @@ -85,10 +85,14 @@ test('C22 — le vote groupé : une section en un geste, et l’article à deux }); test('C23 — le vote par la chaîne Ğ1 : un geste, confirmé par l’indexeur ; le dernier fait foi', async ({ page, browser }) => { + // The chain is waited for: the server reads the indexer every 10 seconds. + test.setTimeout(90_000); await signIn(page, 'Chiara'); await wallet(page, [ALICE]); await page.goto(DOC); const { control } = await chain(page); + await expect(page.getByRole('button', { name: /^Voter en lot/ })).toBeVisible(); + await shot(page, '0-entete-voter-en-lot'); // The basket: two articles in force, for, in one transaction. await page.getByRole('button', { name: /^Voter en lot/ }).click(); const panel = page.locator('aside.panel'); diff --git a/web/src/routes/g/[group]/docs/[doc]/+page.svelte b/web/src/routes/g/[group]/docs/[doc]/+page.svelte index 5868ea1..ea76c99 100644 --- a/web/src/routes/g/[group]/docs/[doc]/+page.svelte +++ b/web/src/routes/g/[group]/docs/[doc]/+page.svelte @@ -144,12 +144,14 @@ ·

-
- {#if canVote} + {#if canVote} +
- {/if} +
+ {/if} +
{#each VIEWS as v (v)} @@ -306,10 +308,13 @@ justify-content: space-between; margin-top: 1.6rem; } + .basket-row { + margin-top: 1.4rem; + } + .basket-row + .controls { + margin-top: 0.8rem; + } .basket-btn { - flex-basis: 100%; - justify-self: start; - max-width: max-content; background: var(--water); color: var(--on-water); }