@using SteUp.Shared.Components.Layout @using SteUp.Shared.Core.Dto @using SteUp.Shared.Core.Interface.System @inject IAttachedService AttachedService @if (RequireNewName) { } else {
}
@if (RequireNewName) { Salva }
@code { [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = null!; [Parameter] public bool CanAddPosition { get; set; } private AttachedDto? Attached { get; set; } private bool _requireNewName; private bool RequireNewName { get => _requireNewName; set { _requireNewName = value; TitleModal = _requireNewName ? "Nome allegato" : "Aggiungi allegati"; StateHasChanged(); } } private string TitleModal { get; set; } = "Aggiungi allegati"; private string? _newName; private string? NewName { get => _newName; set { _newName = value; StateHasChanged(); } } protected override void OnInitialized() { RequireNewName = false; Snackbar.Configuration.PositionClass = Defaults.Classes.Position.TopCenter; } private async Task OnCamera() { Attached = await AttachedService.SelectImageFromCamera(); if (Attached != null) { RequireNewName = true; StateHasChanged(); } } private async Task OnGallery() { Attached = await AttachedService.SelectImageFromGallery(); if (Attached != null) { RequireNewName = true; StateHasChanged(); } } private void OnNewName() { if (Attached != null) { switch (Attached.Type) { case AttachedDto.TypeAttached.Image: { var extension = Path.GetExtension(Attached.Name); Attached.Name = NewName! + extension; break; } default: throw new ArgumentOutOfRangeException(); } } MudDialog.Close(Attached); } }