summaryrefslogtreecommitdiff
path: root/Pages/Gallery.razor
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2026-08-21 00:37:58 +1000
committerJake Mannens <jake@asger.xyz>2026-08-21 00:53:54 +1000
commit5e00ed783c68746567f40bb56c7cf69f4224b711 (patch)
tree896418bea1497e80ee982248e5e2b28a2a491d02 /Pages/Gallery.razor
parentd32b0c57602a6de05f736e007aee9abbe450385d (diff)
Initial committhumbsize
Diffstat (limited to 'Pages/Gallery.razor')
-rw-r--r--Pages/Gallery.razor38
1 files changed, 36 insertions, 2 deletions
diff --git a/Pages/Gallery.razor b/Pages/Gallery.razor
index 043f92d..deabd98 100644
--- a/Pages/Gallery.razor
+++ b/Pages/Gallery.razor
@@ -20,13 +20,34 @@
<p><center>a tag ID have been specified!</center></p>
</div>
} else {
- <div style="padding:var(--size-default-gap);">
+ <div style="margin:0 auto 0 auto;padding:var(--size-default-gap);">
+ <ButtonContainer>
+ <Button
+ OnClick=@(async () => await SetViewSize(GalleryViewSize.Small))
+ IconUrl="/images/grid-small.svg"/>
+ <Button
+ OnClick=@(async () => await SetViewSize(GalleryViewSize.Medium))
+ IconUrl="/images/grid-medium.svg"/>
+ <Button
+ OnClick=@(async () => await SetViewSize(GalleryViewSize.Large))
+ IconUrl="/images/grid-large.svg"/>
+ </ButtonContainer>
@foreach(var media in displayMedia) {
// Precalculate thumbnail size to help the browser
// lay out the images during initial page load
int width = (int) media.CurrentUploadedFile!.Width! * 200 / (int) media.CurrentUploadedFile.Height!;
<a href="/ViewMedia?m=@(media.Guid)">
- <img src="/media/thumb/@(media.Guid)?h=200" width=@width height="200"/>
+ @switch(viewSize) {
+ case GalleryViewSize.Small:
+ <img src="/media/thumb/@(media.Guid)?w=100&h=100" width="100" height="100"/>
+ break;
+ case GalleryViewSize.Medium:
+ <img src="/media/thumb/@(media.Guid)?w=200&h=200" width="200" height="200"/>
+ break;
+ case GalleryViewSize.Large:
+ <img src="/media/thumb/@(media.Guid)?h=200" width=@width height="200"/>
+ break;
+ }
</a>
}
<div id="canary" style="height:1px;"></div>
@@ -77,6 +98,8 @@
}
}
+ private GalleryViewSize viewSize = GalleryViewSize.Large;
+
private List<Media> displayMedia;
protected override void OnInitialized() =>
@@ -136,6 +159,17 @@
});
}
+ private async Task SetViewSize(GalleryViewSize viewSize) {
+ this.viewSize = viewSize;
+ await InvokeAsync(() => StateHasChanged());
+ }
+
public void Dispose() =>
userService.UserSessionState.OnStateChange -= ShowNsfwChanged;
+
+ public enum GalleryViewSize {
+ Small,
+ Medium,
+ Large
+ }
}