Fait saisir un par un ce qui se saisissait sur une ligne à séparateurs

Les thèmes et les auteurs souffraient du défaut corrigé hier sur les unes :
un champ relié à chaque frappe sur une propriété qui découpait puis
recomposait la liste, donc un séparateur intapable. Ils passent au même
geste — écrire, Entrée, puis modifier ou retirer chaque ligne — et le
composant est partagé plutôt que recopié une troisième fois.

Le bloc des rôles se fond dans la liste des auteurs : il listait les mêmes
noms une seconde fois. Renommer une ligne conserve son rôle, parce qu'on
corrige un nom au lieu de reconstruire la liste.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mathieu
2026-08-22 00:11:37 +02:00
co-authored by Claude Opus 5
parent e46fa99e3b
commit 75f962ab46
7 changed files with 419 additions and 264 deletions
+16 -23
View File
@@ -1356,21 +1356,6 @@ body {
font-size: 0.85em;
}
/* Un nom, sa rangée de rôles : la ligne se replie sur les écrans étroits plutôt que de
comprimer les boutons, qui doivent rester atteignables au pouce. */
.ligne-role {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.4rem 0.75rem;
margin-top: 0.4rem;
}
.nom-role {
font-weight: 600;
font-size: 0.9rem;
}
/* ------------------------------------------------------------------
Menu principal (bandeau)
@@ -1614,18 +1599,20 @@ body {
font-style: italic;
}
/* Saisie des unes : un titre par ligne, son texte à gauche et ses deux actions à droite.
⚠️ min-width: 0 sur le titre est ce qui fait tenir la ligne à 320 px — un titre d'article
/* Saisie d'une liste (thèmes, auteurs, articles à la une) : une valeur par ligne, son texte
à gauche et ses deux actions à droite.
⚠️ min-width: 0 sur la valeur est ce qui fait tenir la ligne à 320 px — un titre d'article
est long, et sans lui il pousserait « Supprimer » hors de l'écran (même leçon que la ligne
de création du lot M1, et que l'arbre des séries). */
.liste-unes {
.liste-saisie {
list-style: none;
margin: 0.25rem 0 0;
padding: 0;
}
.ligne-une {
.ligne-saisie {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
align-items: center;
justify-content: space-between;
@@ -1633,18 +1620,24 @@ body {
border-bottom: 1px solid var(--mb-bord);
}
.ligne-une-titre {
flex: 1 1 auto;
.ligne-saisie-valeur {
flex: 1 1 8rem;
min-width: 0;
overflow-wrap: anywhere;
font-style: italic;
}
.ligne-une .actions-tome {
.ligne-saisie .actions-tome {
flex: 0 0 auto;
margin-top: 0;
}
/* Les rôles d'un auteur passent à la ligne sous son nom dès que la place manque : trois
segments et deux boutons ne tiennent pas sur une ligne de téléphone. */
.segments-role {
flex: 1 1 100%;
margin: 0;
}
/* --- Créer depuis une liste : champ + bouton sur une ligne (lot M1) ----
⚠️ min-width: 0 sur le champ est ce qui fait tenir la ligne à 320 px : sans
lui, un élément de formulaire refuse de rétrécir sous sa largeur intrinsèque