@inherits FeedbackComponent @inject GameService GameService @inject ImportService ImportService @inject IMessageService MessageService @inject ILogger Logger

Drag and Drop

or

@Options.Hint
Use Local File @code { IBrowserFile File; ChunkUploader ChunkUploader; StorageLocation StorageLocation = new(); string RootPath = Path.GetPathRoot(Directory.GetCurrentDirectory()); bool IsValid = false; string Filename; string Status; async Task Start() { await ChunkUploader.Start(); } async Task Clear() { await ChunkUploader.Clear(); } async Task Cancel() { await ChunkUploader.Clear(); await CloseFeedbackAsync(); } public async Task OnUploadCompleted(string data) { if (Guid.TryParse(data, out var objectKey)) { try { var game = await ImportService.ImportFromUploadArchiveAsync(objectKey); await InvokeAsync(StateHasChanged); MessageService.Success($"{game.Title} successfully imported!"); await CloseFeedbackAsync(); } catch (Exception ex) { Logger?.LogError(ex, "An unknown error occurred while trying to import"); MessageService.Error("An unknown error occurred while trying to import"); } } else { await InvokeAsync(StateHasChanged); MessageService.Error("Import file failed to upload!"); await CloseFeedbackAsync(); } await Clear(); } public async Task OnUploadError(string message) { await InvokeAsync(StateHasChanged); MessageService.Error("An error occurred while trying to import"); Logger?.LogError($"An error occurred while trying to import: {message}"); await CloseFeedbackAsync(); } public async Task OnLocalFileSelected(string path) { try { var game = await ImportService.ImportFromLocalFileAsync(path); await InvokeAsync(StateHasChanged); MessageService.Success($"{game.Title} successfully imported!"); await CloseFeedbackAsync(); } catch (Exception ex) { Logger?.LogError(ex, "An unknown error occurred while trying to import"); MessageService.Error("An unknown error occurred while trying to import"); } } }