v3 : interface des objections, des coquilles validées et de la messagerie ; contrôles C28–C31

Une version retenue par une objection le dit sous l'article, à chacun
selon son rôle : la personne qui vote voit qu'elle ne se vote plus (les
votes faits restent) ; l'auteur, quoi faire (« Modifier l'article visé »
pour une redite, « Reformuler » pour une contradiction) ; la personne qui
objecte, lever ou réitérer avant l'échéance. Le panier la montre sans
choix et ne l'envoie jamais.

« Détails » : faire une objection (redit / contredit), les objections et
où elles en sont, les coquilles proposées par d'autres avec leur diff
resserré, valider / refuser / revenir, l'historique dit qui a validé.
Une coquille se propose sur toute version ouverte ou en vigueur.

Boîte « Messages » dans le menu, avec le nombre de non-lus (pastille sur
le bouton du menu en mobile) : objet, texte, gestes, échéance ; un message
traité n'a plus de geste. Répondre à une objection lit son message.

Trilingue (fr, en, es). C6 suit la règle : la coquille d'un administrateur
sur un texte du seed passe tout de suite ; C28–C31 couvrent le reste.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-10-31 04:21:20 +01:00
co-authored by Claude Opus 5.5
parent 3f1f968f16
commit 83f8ca0981
31 changed files with 1732 additions and 197 deletions
+20 -1
View File
@@ -26,6 +26,7 @@
afterNavigate(() => {
drawer = false;
if (session.ready) void session.refreshUnread();
});
</script>
@@ -43,7 +44,8 @@
<header class="topbar">
<a class="brand" href="/"><Logo size={1.2} /></a>
<button class="menu" type="button" aria-expanded={drawer} aria-controls="drawer" onclick={() => (drawer = true)}>
<Icon name="menu" /><span class="visually-hidden">{t('nav.menu')}</span>
<Icon name="menu" /><span class="visually-hidden">{t('nav.menu')}{#if session.unread} · {i18n.plural('nav.messages.count', session.unread)}{/if}</span>
{#if session.unread}<span class="badge" aria-hidden="true">{session.unread}</span>{/if}
</button>
</header>
@@ -157,6 +159,7 @@
text-decoration: none;
}
.menu {
position: relative;
display: grid;
place-items: center;
width: 2.5rem;
@@ -167,5 +170,21 @@
box-shadow: var(--shadow);
color: var(--ink);
}
/* Unread messages, seen without opening the menu. */
.badge {
position: absolute;
top: -0.3rem;
right: -0.3rem;
min-width: 1.25rem;
height: 1.25rem;
padding: 0 0.3rem;
border-radius: var(--r-pill);
background: var(--ochre);
color: var(--on-water);
font-size: 0.72rem;
font-weight: 800;
line-height: 1.25rem;
text-align: center;
}
}
</style>