summaryrefslogtreecommitdiff
path: root/Pages
diff options
context:
space:
mode:
Diffstat (limited to 'Pages')
-rw-r--r--Pages/Gallery.razor17
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();