// // AsyncImageView.swift // Jel // // Created by zerocool on 12/19/23. // import SwiftUI import BlurHashKit import JellyfinKit struct AsyncImageView: View { @EnvironmentObject var jellyfinClient: JellyfinClientController @State var imageId: String @State var blurhash: String @State var imageType: String @State var loading = true @State var uiImage: UIImage = UIImage() var body: some View { VStack { if loading { BlurHashView(blurHash: blurhash) } else { Image(uiImage: uiImage) } } .onAppear { Task { let request = Paths.getItemImage(itemID: imageId, imageType: imageType) do { let res = try await jellyfinClient.send(request) if let image = UIImage(data: res.value) { uiImage = image loading = false } else { } } } } } } //#Preview { // AsyncImageView(imageId: "", blurhash: "", imageType: "") //}