diff options
Diffstat (limited to 'Pages/Gallery.razor')
| -rw-r--r-- | Pages/Gallery.razor | 16 |
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; } |
