diff options
| author | Fuwn <[email protected]> | 2025-03-15 04:59:40 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-03-15 04:59:40 -0700 |
| commit | d9083c57c8665f018c302367a23a02dbe274b400 (patch) | |
| tree | b6348709a83a28440d6f7fc08708f8c44962acc8 /Sora/Views/Post/Details/Carousel/PostDetailsCarouselItemView.swift | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-tabs.tar.xz sora-testing-tabs.zip | |
feat: Development committabs
Diffstat (limited to 'Sora/Views/Post/Details/Carousel/PostDetailsCarouselItemView.swift')
| -rw-r--r-- | Sora/Views/Post/Details/Carousel/PostDetailsCarouselItemView.swift | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/Sora/Views/Post/Details/Carousel/PostDetailsCarouselItemView.swift b/Sora/Views/Post/Details/Carousel/PostDetailsCarouselItemView.swift index 9d2d95e..fc39ca3 100644 --- a/Sora/Views/Post/Details/Carousel/PostDetailsCarouselItemView.swift +++ b/Sora/Views/Post/Details/Carousel/PostDetailsCarouselItemView.swift @@ -1,8 +1,6 @@ import SwiftUI struct PostDetailsCarouselItemView: View { - var post: BooruPost - var manager: BooruManager var index: Int @Binding var loadingStage: BooruPostLoadingState var imageURL: (BooruPost) -> URL? @@ -15,33 +13,35 @@ struct PostDetailsCarouselItemView: View { return Color.gray #endif } + @Binding var selectedPost: (post: BooruPost?, manager: BooruManager?) var body: some View { - ZStack { - PostDetailsImageView( - url: post.previewURL, - loadingStage: $loadingStage, - manager: manager - ) { - GeometryReader { geometry in - ProgressView() - .frame(width: geometry.size.width, height: geometry.size.height) - .position(x: geometry.size.width / 2, y: geometry.size.height / 2) - .padding() + if let post = selectedPost.post { + ZStack { + PostDetailsImageView( + url: post.previewURL, + loadingStage: $loadingStage, + selectedPost: $selectedPost + ) { + GeometryReader { geometry in + ProgressView() + .frame(width: geometry.size.width, height: geometry.size.height) + .position(x: geometry.size.width / 2, y: geometry.size.height / 2) + .padding() + } } + + PostDetailsImageView( + url: imageURL(post), + loadingStage: $loadingStage, + selectedPost: $selectedPost, + finalLoadingState: .loaded + ) + .background( + loadingStage == .loaded ? systemBackgroundColor : Color.clear + ) } - - PostDetailsImageView( - url: imageURL(post), - loadingStage: $loadingStage, - manager: manager, - finalLoadingState: .loaded, - post: post - ) - .background( - loadingStage == .loaded ? systemBackgroundColor : Color.clear - ) + .tag(index) } - .tag(index) } } |