@* Formulaire d'une fiche livre, partagé par l'ajout (ISBN ou manuel) et l'édition. Le pré-remplissage par ISBN est une AIDE, pas une contrainte : tous les champs restent modifiables, et une fiche incomplète peut toujours être complétée à la main (CLAUDE.md). *@
@if (!string.IsNullOrEmpty(Saisie.CoverUrl) || !string.IsNullOrWhiteSpace(Saisie.Titre)) {
} @* Un seul champ, plusieurs auteurs : le point-virgule les sépare. La virgule est déjà prise par la forme bibliographique « Zola, Émile », qu'on doit pouvoir taper telle quelle. Le serveur rapproche ensuite les variantes sûres d'un auteur déjà connu. *@
Format
@foreach (var format in Formats) { }
Statut de lecture (le vôtre)
@if (!string.IsNullOrEmpty(Erreur)) { }
@if (OnAnnuler.HasDelegate) { }
@code { private static readonly Format[] Formats = Enum.GetValues(); [Parameter, EditorRequired] public EnregistrementLivre Saisie { get; set; } = new(); [Parameter] public string LibelleValidation { get; set; } = "Enregistrer"; [Parameter] public string? Erreur { get; set; } [Parameter] public bool EnCours { get; set; } [Parameter] public EventCallback OnValider { get; set; } [Parameter] public EventCallback OnAnnuler { get; set; } private Task Valider() => OnValider.InvokeAsync(); }