@using FoodsharingSiegen.Contracts.Entity @code { private Modal ModalReference { get; set; } = null!; private Prospect Prospect { get; set; } = new(); private string? Header { get; set; } private string? SaveButtonText { get; set; } private bool IsUpdateMode { get; set; } [Parameter] public EventCallback OnAdd { get; set; } [Parameter] public EventCallback OnUpdate { get; set; } public async Task Show() { Prospect = new Prospect(); Header = "Neuling hinzufügen"; SaveButtonText = "Hinzufügen"; await ModalReference.Show(); } public async Task Show(Prospect? prospect) { if (prospect == null) return; Prospect = prospect; IsUpdateMode = true; Header = $"{Prospect.Name} bearbeiten"; SaveButtonText = "Speichern"; await ModalReference.Show(); } private async Task SaveClick() { if (IsUpdateMode) await OnUpdate.InvokeAsync(Prospect); else await OnAdd.InvokeAsync(Prospect); await ModalReference.Hide(); } } @Header Name Foodsharing-ID