MaBibli 1.0.0
Gestion de bibliothèque personnelle auto-hébergée : catalogue, prêts, scan de code-barres, consultation hors-ligne. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
@*
|
||||
Sélecteur du statut de lecture.
|
||||
|
||||
Le statut est PERSONNEL (CLAUDE.md) : ce que montrent ces boutons est la lecture de la
|
||||
personne connectée, pas celle du foyer. « Non commencé » n'est pas une valeur de plus dans
|
||||
l'énumération, c'est l'absence de ligne en base — d'où le bouton qui remet la valeur à null.
|
||||
*@
|
||||
<div class="segments @(Compact ? "segments-compacts" : null)" role="group" aria-label="Statut de lecture">
|
||||
<button type="button"
|
||||
class="segment @(Valeur is null ? "segment-actif" : null)"
|
||||
disabled="@Desactive"
|
||||
@onclick="() => Choisir(null)">
|
||||
Non commencé
|
||||
</button>
|
||||
|
||||
@foreach (var statut in Statuts)
|
||||
{
|
||||
<button type="button"
|
||||
class="segment @Libelles.ClasseStatut(statut) @(Valeur == statut ? "segment-actif" : null)"
|
||||
disabled="@Desactive"
|
||||
@onclick="() => Choisir(statut)">
|
||||
@Libelles.Statut(statut)
|
||||
</button>
|
||||
}
|
||||
</div>
|
||||
|
||||
@code {
|
||||
private static readonly Statut[] Statuts = Enum.GetValues<Statut>();
|
||||
|
||||
[Parameter] public Statut? Valeur { get; set; }
|
||||
|
||||
[Parameter] public EventCallback<Statut?> ValeurChanged { get; set; }
|
||||
|
||||
[Parameter] public bool Desactive { get; set; }
|
||||
|
||||
[Parameter] public bool Compact { get; set; }
|
||||
|
||||
private Task Choisir(Statut? statut) =>
|
||||
statut == Valeur ? Task.CompletedTask : ValeurChanged.InvokeAsync(statut);
|
||||
}
|
||||
Reference in New Issue
Block a user