Arbre des séries dépouillé, et ordre de lecture derrière son propre écran

- L'arbre ne montre plus que la descendance : titre, avancement, lien. Il dépliait
  auparavant la liste complète des tomes de chaque nœud, cartes de livres comprises —
  un cycle occupait plusieurs écrans et l'on ne voyait plus qui contient quoi. Corollaire :
  tout est déplié par défaut, et l'on replie ce dont on ne veut pas.
- /series ne charge plus le catalogue entier : l'arbre n'en a plus l'usage.
- ⚠️ Nouvelle route /series/{id}/ordre, sur le modèle de /souhaits/ordre. Les flèches
  n'existent plus qu'ici : en consultation, elles se déclenchaient au défilement du pouce
  et l'ordre de lecture d'une saga changeait sans qu'on l'ait voulu.
- Le mode ordre ne fait QUE réordonner : les actions par tome et l'ajout de tome n'y
  figurent pas.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mathieu
2026-08-20 20:45:14 +02:00
co-authored by Claude Opus 5
parent 4fd67e4e3b
commit bd4fea2638
4 changed files with 230 additions and 86 deletions
+78
View File
@@ -1100,6 +1100,84 @@ body {
.liste-series,
.liste-tomes,
/*
Arbre des séries : une simple imbrication de listes, indentée par un liseré vertical.
⚠️ Volontairement dépouillé — pas de carte, pas de couverture, pas de tome. L'arbre répond
à « qui contient quoi », et l'écran d'une série répond au reste. La version précédente
dépliait la liste complète des livres de chaque nœud, ce qui noyait la hiérarchie qu'elle
était censée montrer.
*/
.arbre,
.arbre-enfants {
list-style: none;
margin: 0;
padding: 0;
}
.arbre-enfants {
/* Le liseré remplace les traits d'un arbre dessiné : il suffit à rattacher visuellement
une descendance à son parent, sans pseudo-éléments à positionner. */
margin-left: 0.7rem;
padding-left: 0.8rem;
border-left: 2px solid var(--mb-bord);
}
.arbre-ligne {
display: flex;
align-items: center;
gap: 0.5rem;
min-height: 2.25rem;
padding: 0.2rem 0;
}
.arbre-plier,
.arbre-puce {
flex: 0 0 1.5rem;
display: inline-flex;
align-items: center;
justify-content: center;
height: 1.5rem;
padding: 0;
font-size: 0.9rem;
color: var(--mb-texte-doux);
background: transparent;
border: 0;
}
.arbre-plier {
cursor: pointer;
}
.arbre-titre {
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-weight: 600;
color: #1d2129;
text-decoration: none;
}
.arbre-titre:hover,
.arbre-titre:focus-visible {
text-decoration: underline;
}
.arbre-compte {
flex: 0 0 auto;
font-size: 0.8rem;
color: var(--mb-texte-doux);
white-space: nowrap;
}
.arbre-actions {
flex: 0 0 auto;
display: flex;
gap: 0.25rem;
}
.liste-sous-series {
list-style: none;
margin: 0.5rem 0;