summaryrefslogtreecommitdiff
path: root/Pages/Gallery.razor
diff options
context:
space:
mode:
Diffstat (limited to 'Pages/Gallery.razor')
-rw-r--r--Pages/Gallery.razor16
1 files changed, 14 insertions, 2 deletions
diff --git a/Pages/Gallery.razor b/Pages/Gallery.razor
index 1464c13..3ddca5d 100644
--- a/Pages/Gallery.razor
+++ b/Pages/Gallery.razor
@@ -21,6 +21,12 @@
</div>
} else {
<div style="padding:var(--size-default-gap);">
+ <select @onchange=@((e) => SortOrderChanged(e.Value))>
+ <option value=@(HyperBooru.SortOrder.ObjectId)>Internal ID</option>
+ <option value=@(HyperBooru.SortOrder.LastWriteTime)>Modification Time</option>
+ <option value=@(HyperBooru.SortOrder.Random)>Random</option>
+ </select>
+ <hr/>
@foreach(var media in displayMedia) {
// Precalculate thumbnail size to help the browser
// lay out the images during initial page load
@@ -109,7 +115,7 @@
tagId: (Guid) TagId!,
key: key,
count: PageSize,
- sortOrder: sortOrder ?? default));
+ sortOrder: sortOrder ?? default));
} else if(Query is not null && TagId is null) {
displayMedia!.AddRange(feedService.LoadChunk(
selectIngest: Ingest,
@@ -117,7 +123,7 @@
query: string.IsNullOrWhiteSpace(Query) ? null : Query,
key: key,
count: PageSize,
- sortOrder: sortOrder ?? default));
+ sortOrder: sortOrder ?? default));
} else {
displayMedia!.AddRange(feedService.LoadChunk(
selectIngest: Ingest,
@@ -136,6 +142,12 @@
});
}
+ private async void SortOrderChanged(SortOrder sortOrder) {
+ await InvokeAsync(() => {
+ LoadMedia(true);
+ });
+ }
+
public void Dispose() =>
userService.UserSessionState.OnStateChange -= ShowNsfwChanged;
}