@using LANCommander.SDK.Models @namespace LANCommander.Launcher.UI @inherits FeedbackComponent @inject SaveService SaveService @inject IMessageService MessageService @inject LocalizationService LocalizationService
@if (Saves.Count() > PageSize) { } @code { IEnumerable Saves = new List(); int PageSize = 10; int CurrentPage = 1; protected override async Task OnInitializedAsync() { await LoadData(); } async Task OnPageChange(PaginationEventArgs args) { CurrentPage = args.Page; } async Task Download(GameSave save) { await SaveService.DownloadAsync(Options.InstallDirectory, Options.Id, save.Id); MessageService.Success(LocalizationService.GetString("SaveDownloaded")); } async Task Delete(GameSave save) { await SaveService.DeleteAsync(save.Id); MessageService.Success(LocalizationService.GetString("SaveDeleted")); await LoadData(); } async Task Upload() { await SaveService.UploadAsync(Options.InstallDirectory, Options.Id); MessageService.Success(LocalizationService.GetString("SaveUploaded")); await LoadData(); } async Task Close() { await CloseFeedbackAsync(); } async Task LoadData() { Saves = await SaveService.Get(Options.Id); Saves = Saves.OrderByDescending(s => s.CreatedOn); } }