2023-12-15 16:06:36 +00:00
|
|
|
//
|
|
|
|
// LibraryIconView.swift
|
|
|
|
// Jel
|
|
|
|
//
|
|
|
|
// Created by zerocool on 12/15/23.
|
|
|
|
//
|
|
|
|
|
|
|
|
import SwiftUI
|
2023-12-22 22:14:21 +00:00
|
|
|
import JellyfinKit
|
2023-12-15 16:06:36 +00:00
|
|
|
|
|
|
|
struct LibraryIconView: View {
|
2023-12-22 22:14:21 +00:00
|
|
|
@EnvironmentObject var jellyfinClient: JellyfinClientController
|
|
|
|
|
|
|
|
@State var library: BaseItemDto
|
2023-12-23 05:53:44 +00:00
|
|
|
|
2023-12-22 22:14:21 +00:00
|
|
|
@State var loadingImage: Bool = true
|
2023-12-23 05:53:44 +00:00
|
|
|
@State var imageType: String = "Primary"
|
|
|
|
var width: CGFloat?
|
|
|
|
var height: CGFloat?
|
2023-12-22 22:14:21 +00:00
|
|
|
|
|
|
|
@State var loadedImageBinaryData: Data?
|
|
|
|
|
|
|
|
var body: some View {
|
|
|
|
VStack {
|
|
|
|
AsyncImageView(imageId: library.id ?? "",
|
2023-12-23 05:53:44 +00:00
|
|
|
blurhash: library.imageBlurHashes?.primary?[library.imageTags?[imageType] ?? ""] ?? "",
|
|
|
|
imageType: imageType)
|
2023-12-23 00:29:07 +00:00
|
|
|
.aspectRatio(contentMode: .fill)
|
2023-12-23 05:53:44 +00:00
|
|
|
.frame(width: width, height: height)
|
2023-12-23 00:29:07 +00:00
|
|
|
.clipShape(RoundedRectangle(cornerRadius: 5))
|
|
|
|
|
2023-12-22 22:14:21 +00:00
|
|
|
|
|
|
|
Text(library.name ?? "Unknown")
|
|
|
|
.font(.subheadline)
|
2023-12-15 16:06:36 +00:00
|
|
|
}
|
2023-12-22 22:14:21 +00:00
|
|
|
}
|
2023-12-15 16:06:36 +00:00
|
|
|
}
|
|
|
|
|
2023-12-23 00:29:07 +00:00
|
|
|
//#Preview {
|
|
|
|
// LibraryIconView(library: BaseItemDto())
|
|
|
|
//}
|