Auteurs cherchables et triables, filtre de prêt, rang dans les exports, couvertures d'envies
Auteurs - Recherche et tri (par nom, ou du plus présent au moins présent), en mémoire : la liste est déjà chargée en entier — c'est elle qui sert l'instantané hors-ligne — et la filtrer côté serveur aurait rendu la page inutilisable sans réseau. - Trois colonnes dont une seule est élastique : compteur à gauche sur une largeur figée, nom au milieu, actions à droite. Les compteurs et les boutons s'alignent alors d'une ligne à l'autre au lieu de suivre la longueur du nom. Catalogue - Filtre « À la maison / Prêtés », posé dans les deux implémentations (serveur et hors-ligne) et dans le test qui les confronte, avec un cas de prêt CLOS — c'est exactement là que les deux auraient pu diverger en silence. - La ligne disparaît tant que rien n'est prêté, comme celles des formats et des types. Envies - ⚠️ Les couvertures manquaient parce que seul l'écran « ajouter une envie » remplissait CoverUrl : la bibliographie et les tomes manquants transmettent un ISBN mais aucune image. Le repli est posé à la LECTURE, donc il vaut aussi pour les envies déjà enregistrées, sans migration. - Les exports .txt et .csv portent le rang d'envie. Le .txt en a le plus besoin : son groupement par auteur détruit précisément cet ordre. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -330,7 +330,21 @@ public sealed class ServiceSouhaits(MaBibliDbContext db) : IServiceSouhaits
|
||||
Editeur = souhait.Editeur,
|
||||
Annee = souhait.Annee,
|
||||
Isbn = souhait.Isbn,
|
||||
CoverUrl = souhait.CoverUrl,
|
||||
|
||||
// ⚠️ La couverture se déduit de l'ISBN quand elle n'a pas été fournie.
|
||||
//
|
||||
// Constaté en usage : aucune vignette dans la liste d'envies. La cause n'était pas le
|
||||
// composant Couverture mais le chemin d'ajout — seul l'écran « ajouter une envie »
|
||||
// remplissait CoverUrl, alors que la plupart des envies arrivent par la bibliographie
|
||||
// d'un auteur ou par un tome manquant d'une série, qui transmettent bien un ISBN mais
|
||||
// aucune image.
|
||||
//
|
||||
// Le repli est posé ICI, à la lecture, et non à l'écriture : il vaut alors aussi pour
|
||||
// les envies DÉJÀ enregistrées, sans migration ni rattrapage. La règle « sans ISBN,
|
||||
// pas de couverture, et on n'en invente pas » est intacte — on n'invente rien, on
|
||||
// applique la formule OpenLibrary habituelle à un ISBN qu'on possède déjà.
|
||||
CoverUrl = souhait.CoverUrl
|
||||
?? (souhait.Isbn is null ? null : IsbnUtils.UrlCouverture(souhait.Isbn)),
|
||||
Note = souhait.Note,
|
||||
DateAjout = souhait.DateAjout,
|
||||
Possede = livreId is not null,
|
||||
|
||||
Reference in New Issue
Block a user