diff options
Diffstat (limited to 'Sora/Views')
| -rw-r--r-- | Sora/Views/Post/Grid/PostGridThumbnailView.swift | 16 | ||||
| -rw-r--r-- | Sora/Views/Settings/Section/SettingsThumbnailsView.swift | 2 |
2 files changed, 17 insertions, 1 deletions
diff --git a/Sora/Views/Post/Grid/PostGridThumbnailView.swift b/Sora/Views/Post/Grid/PostGridThumbnailView.swift index b281980..15bf9da 100644 --- a/Sora/Views/Post/Grid/PostGridThumbnailView.swift +++ b/Sora/Views/Post/Grid/PostGridThumbnailView.swift @@ -20,7 +20,7 @@ struct PostGridThumbnailView: View { } @ViewBuilder - private func imageContent(image: Image) -> some View { + private func primaryImageContent(image: Image) -> some View { let isFiltered = settings.blurRatings.contains(post.rating) && manager.selectedPost?.id != post.id @@ -34,6 +34,20 @@ struct PostGridThumbnailView: View { .clipShape(RoundedRectangle(cornerRadius: 8)) } + @ViewBuilder + private func imageContent(image: Image) -> some View { + if settings.uniformThumbnailGrid { + GeometryReader { proxy in + primaryImageContent(image: image) + .frame(width: proxy.size.width, height: proxy.size.width) + } + .clipped() + .aspectRatio(1, contentMode: .fit) + } else { + primaryImageContent(image: image) + } + } + var body: some View { VStack { NetworkImage( diff --git a/Sora/Views/Settings/Section/SettingsThumbnailsView.swift b/Sora/Views/Settings/Section/SettingsThumbnailsView.swift index 9e4c856..910debb 100644 --- a/Sora/Views/Settings/Section/SettingsThumbnailsView.swift +++ b/Sora/Views/Settings/Section/SettingsThumbnailsView.swift @@ -23,6 +23,8 @@ struct SettingsThumbnailsView: View { ) #endif + Toggle("Uniform Thumbnail Size", isOn: $settings.uniformThumbnailGrid) + Toggle("Lazy Thumbnail Loading", isOn: $settings.alternativeThumbnailGrid) #if os(macOS) |