Changement de place pour des boutons, tri sur nom par facilité, les bulles des types ont des couleurs plus prononcés et ajout de deux nouveaux types d'ouvrages:

Pratique pour les ouvrages techniques, manuel, etc et connaissance pour les encyclopédies, livres d'art, etc
This commit is contained in:
mathieu
2026-09-11 00:03:05 +02:00
parent 0f2b81346a
commit d07795611d
9 changed files with 786 additions and 59 deletions
+4
View File
@@ -22,6 +22,8 @@ public static class Libelles
MaBibli.Shared.Entites.TypeDocument.NonPrecise => "Non précisé",
MaBibli.Shared.Entites.TypeDocument.Roman => "Roman",
MaBibli.Shared.Entites.TypeDocument.BandeDessinee => "BD",
MaBibli.Shared.Entites.TypeDocument.Pratique => "Pratique",
MaBibli.Shared.Entites.TypeDocument.Connaissance => "Connaissance",
_ => type.ToString(),
};
@@ -64,6 +66,8 @@ public static class Libelles
{
MaBibli.Shared.Entites.TypeDocument.Roman => "type-roman",
MaBibli.Shared.Entites.TypeDocument.BandeDessinee => "type-bd",
MaBibli.Shared.Entites.TypeDocument.Pratique => "type-pratique",
MaBibli.Shared.Entites.TypeDocument.Connaissance => "type-connaissance",
_ => string.Empty,
};
+3 -3
View File
@@ -27,10 +27,10 @@
}
<div class="onglets-secondaires" role="group" aria-label="Manière de chercher">
<button type="button" class="segment @(_mode == Mode.Titre ? "segment-actif" : null)"
@onclick="() => Basculer(Mode.Titre)">Par titre</button>
<button type="button" class="segment @(_mode == Mode.Isbn ? "segment-actif" : null)"
@onclick="() => Basculer(Mode.Isbn)">Par ISBN</button>
<button type="button" class="segment @(_mode == Mode.Titre ? "segment-actif" : null)"
@onclick="() => Basculer(Mode.Titre)">Par titre</button>
<button type="button" class="segment @(_mode == Mode.Manuel ? "segment-actif" : null)"
@onclick="() => Basculer(Mode.Manuel)">À la main</button>
<button type="button" class="segment @(_mode == Mode.Revue ? "segment-actif" : null)"
@@ -252,7 +252,7 @@
@code {
private enum Mode { Titre, Isbn, Manuel, Revue }
private Mode _mode = Mode.Titre;
private Mode _mode = Mode.Isbn;
private ElementReference _premierChamp;
private bool _focusAFaire = true;
+46 -46
View File
@@ -102,52 +102,6 @@ else
</div>
}
@if (ModeEdition)
{
<h2 class="titre-section">La revue</h2>
<label class="champ">
<span class="champ-libelle">Nom</span>
<input class="champ-saisie" type="text" @bind="_titre" @bind:event="oninput" />
</label>
<label class="champ">
<span class="champ-libelle">
ISSN <span class="champ-aide">(identifiant de la revue ; le tiret est posé à l'enregistrement)</span>
</span>
<input class="champ-saisie" type="text" @bind="_issn" @bind:event="oninput"
placeholder="2466-6718" autocomplete="off" />
</label>
<label class="champ">
<span class="champ-libelle">Éditeur</span>
<input class="champ-saisie" type="text" @bind="_editeur" @bind:event="oninput" />
</label>
<div class="actions-formulaire">
<button type="button" class="bouton bouton-principal"
disabled="@(_enCours || !Reseau.EnLigne || string.IsNullOrWhiteSpace(_titre))"
title="@MotifBlocage"
@onclick="EnregistrerAsync">
Enregistrer
</button>
<button type="button" class="bouton bouton-discret bouton-danger"
disabled="@(_enCours || !Reseau.EnLigne)" title="@MotifBlocage"
@onclick="SupprimerAsync">
@(_confirmeSuppression ? "Confirmer la suppression" : "Supprimer la revue")
</button>
</div>
@if (_confirmeSuppression)
{
<p class="message-avertissement" role="status">
Les @_revue.Numeros.Count numéro(s) recensés disparaîtront avec elle : ils
n'existent que par leur revue.
</p>
}
}
<h2 class="titre-section">Numéros possédés</h2>
@if (_revue.Numeros.Count == 0)
@@ -297,6 +251,52 @@ else
}
</ul>
}
@if (ModeEdition)
{
<h2 class="titre-section">La revue</h2>
<label class="champ">
<span class="champ-libelle">Nom</span>
<input class="champ-saisie" type="text" @bind="_titre" @bind:event="oninput" />
</label>
<label class="champ">
<span class="champ-libelle">
ISSN <span class="champ-aide">(identifiant de la revue ; le tiret est posé à l'enregistrement)</span>
</span>
<input class="champ-saisie" type="text" @bind="_issn" @bind:event="oninput"
placeholder="2466-6718" autocomplete="off" />
</label>
<label class="champ">
<span class="champ-libelle">Éditeur</span>
<input class="champ-saisie" type="text" @bind="_editeur" @bind:event="oninput" />
</label>
<div class="actions-formulaire">
<button type="button" class="bouton bouton-principal"
disabled="@(_enCours || !Reseau.EnLigne || string.IsNullOrWhiteSpace(_titre))"
title="@MotifBlocage"
@onclick="EnregistrerAsync">
Enregistrer
</button>
<button type="button" class="bouton bouton-discret bouton-danger"
disabled="@(_enCours || !Reseau.EnLigne)" title="@MotifBlocage"
@onclick="SupprimerAsync">
@(_confirmeSuppression ? "Confirmer la suppression" : "Supprimer la revue")
</button>
</div>
@if (_confirmeSuppression)
{
<p class="message-avertissement" role="status">
Les @_revue.Numeros.Count numéro(s) recensés disparaîtront avec elle : ils
n'existent que par leur revue.
</p>
}
}
}
@code {
+1 -1
View File
@@ -70,7 +70,7 @@ else
/// <summary>Séries de premier niveau. Celles rangées dans un cycle s'affichent sous lui.</summary>
private IEnumerable<SerieDto> Racines =>
_series?.Where(s => s.SerieParenteId is null) ?? [];
(_series?.Where(s => s.SerieParenteId is null) ?? []).OrderBy(s => s.Titre);
protected override void OnInitialized() => Reseau.Change += SurChangementReseau;
+3 -9
View File
@@ -69,6 +69,7 @@ else
<div class="actions-export">
@if (Reseau.EnLigne)
{
<a class="bouton bouton-discret" href="souhaits/ajout">Ajouter une envie</a>
<a class="bouton bouton-discret" href="@ServiceLivresApi.UrlExportSouhaits(FormatExportSouhaits.Texte)" download>
Exporter en texte
</a>
@@ -78,6 +79,8 @@ else
}
else
{
<button type="button" class="bouton bouton-discret" disabled
title="@EtatReseau.MotifHorsLigne">Ajouter une envie</button>
<button type="button" class="bouton bouton-discret" disabled
title="@MotifExport">Exporter en texte</button>
<button type="button" class="bouton bouton-discret" disabled
@@ -277,15 +280,6 @@ else
{
<a class="bouton bouton-discret" href="souhaits/ordre">Modifier l'ordre</a>
}
@if (Reseau.EnLigne)
{
<a class="bouton bouton-principal" href="souhaits/ajout">Ajouter une envie</a>
}
else
{
<button type="button" class="bouton bouton-principal" disabled
title="@EtatReseau.MotifHorsLigne">Ajouter une envie</button>
}
</nav>
@code {
+4
View File
@@ -304,6 +304,8 @@ body {
.segment.type-roman.segment-actif { background: #2a6f97; border-color: #2a6f97; }
.segment.type-bd.segment-actif { background: #a13d63; border-color: #a13d63; }
.segment.type-pratique.segment-actif { background: #2d6a4f; border-color: #2d6a4f; }
.segment.type-connaissance.segment-actif { background: #d97706; border-color: #d97706; }
/* --- Boutons --- */
@@ -828,6 +830,8 @@ body {
.etiquette-type.type-roman { background: #2a6f97; }
.etiquette-type.type-bd { background: #a13d63; }
.etiquette-type.type-pratique { background: #2d6a4f; }
.etiquette-type.type-connaissance { background: #d97706; }
/* --- Fiche du livre en lecture seule --- */