import SwiftUI /// Displays album artwork for a track, loading from folder or embedded metadata. struct ArtworkView: View { let track: Track let size: CGFloat @State private var image: NSImage? @State private var isLoading = true var body: some View { Group { if let image { Image(nsImage: image) .resizable() .aspectRatio(contentMode: .fill) .frame(width: size, height: size) .clipShape(RoundedRectangle(cornerRadius: 4)) } else { ZStack { RoundedRectangle(cornerRadius: 4) .fill(.quaternary) Image(systemName: "music.note") .font(.system(size: size * 0.4)) .foregroundStyle(.tertiary) } .frame(width: size, height: size) } } .task(id: track.filePath) { isLoading = true image = await ArtworkService.shared.artwork(for: track) isLoading = false } } }