Files
duempelkas/src/Duempelkas.App/Components/OperationNotice.razor
T

20 lines
984 B
Plaintext

@inject ToastService Toasts
@inject IFileSaveService FileSaveService
@code {
[Parameter] public FileOperationResult? Result { get; set; }
private FileOperationResult? previous;
protected override void OnParametersSet()
{
if (Result == null || ReferenceEquals(previous, Result)) return;
previous = Result;
var result = Result;
Toasts.Show(result.Message + (result.Path != null ? " " + result.Path : ""),
result.Status == FileOperationStatus.Error ? ToastKind.Error : result.Status == FileOperationStatus.Success ? ToastKind.Success : ToastKind.Info,
result.Details, result.Path != null ? "Ordner öffnen" : null,
result.Path != null ? async () => {
var opened = await FileSaveService.OpenFolderAsync(result.Path);
Toasts.Show(opened.Message, opened.Status == FileOperationStatus.Error ? ToastKind.Error : ToastKind.Info, opened.Details);
} : null);
}
}