diff options
Diffstat (limited to 'Pages/Gallery.razor')
| -rw-r--r-- | Pages/Gallery.razor | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Pages/Gallery.razor b/Pages/Gallery.razor index 704b73d..1464c13 100644 --- a/Pages/Gallery.razor +++ b/Pages/Gallery.razor @@ -59,6 +59,10 @@ public string? Query { get; set; } [Parameter] + [SupplyParameterFromQuery(Name = "s")] + public string? SortOrder { get; set; } + + [Parameter] [SupplyParameterFromQuery] public bool Ingest { get; set; } = false; @@ -94,26 +98,33 @@ if(initial) displayMedia = new(); + SortOrder? sortOrder = null; + if(Enum.TryParse<SortOrder>(SortOrder, true, out var so)) + sortOrder = so; + if(TagId is not null && Query is null) { displayMedia!.AddRange(feedService.LoadChunk( selectIngest: Ingest, includeNsfw: userService.UserSessionState.ShowNsfw, tagId: (Guid) TagId!, key: key, - count: PageSize)); + count: PageSize, + sortOrder: sortOrder ?? default)); } else if(Query is not null && TagId is null) { displayMedia!.AddRange(feedService.LoadChunk( selectIngest: Ingest, includeNsfw: userService.UserSessionState.ShowNsfw, query: string.IsNullOrWhiteSpace(Query) ? null : Query, key: key, - count: PageSize)); + count: PageSize, + sortOrder: sortOrder ?? default)); } else { displayMedia!.AddRange(feedService.LoadChunk( selectIngest: Ingest, includeNsfw: userService.UserSessionState.ShowNsfw, key: key, - count: PageSize)); + count: PageSize, + sortOrder: sortOrder ?? default)); } StateHasChanged(); |
