summaryrefslogtreecommitdiff
path: root/Jel
diff options
context:
space:
mode:
Diffstat (limited to 'Jel')
-rw-r--r--Jel/Views/Dashboard/DashboardLibraryView.swift4
-rw-r--r--Jel/Views/Dashboard/DashboardSectionTitleView.swift1
-rw-r--r--Jel/Views/Dashboard/DashboardView.swift10
-rw-r--r--Jel/Views/Library/Item/ItemHeaderView.swift6
-rw-r--r--Jel/Views/Library/Item/ItemInfoView.swift6
-rw-r--r--Jel/Views/Library/ItemIconView.swift (renamed from Jel/Views/Library/LibraryIconView.swift)24
-rw-r--r--Jel/Views/Library/LibraryDetailView.swift2
7 files changed, 29 insertions, 24 deletions
diff --git a/Jel/Views/Dashboard/DashboardLibraryView.swift b/Jel/Views/Dashboard/DashboardLibraryView.swift
index 7526dce..2a8dee1 100644
--- a/Jel/Views/Dashboard/DashboardLibraryView.swift
+++ b/Jel/Views/Dashboard/DashboardLibraryView.swift
@@ -28,12 +28,12 @@ struct DashboardLibraryView: View {
NavigationLink {
LibraryDetailView(library: library)
} label: {
- LibraryIconView(library: library, height: 150)
+ ItemIconView(item: library, height: 150)
.setAspectRatio(library.primaryImageAspectRatio)
}
.buttonStyle(PlainButtonStyle())
}
- }
+ }.padding(.horizontal)
}
}
.onAppear {
diff --git a/Jel/Views/Dashboard/DashboardSectionTitleView.swift b/Jel/Views/Dashboard/DashboardSectionTitleView.swift
index 2456dc2..608458a 100644
--- a/Jel/Views/Dashboard/DashboardSectionTitleView.swift
+++ b/Jel/Views/Dashboard/DashboardSectionTitleView.swift
@@ -21,7 +21,6 @@ struct DashboardSectionTitleView: View {
.bold()
Spacer()
}
- .padding(.top)
}
}
diff --git a/Jel/Views/Dashboard/DashboardView.swift b/Jel/Views/Dashboard/DashboardView.swift
index 279f056..5ad25f8 100644
--- a/Jel/Views/Dashboard/DashboardView.swift
+++ b/Jel/Views/Dashboard/DashboardView.swift
@@ -20,17 +20,9 @@ struct DashboardView: View {
}
} header: {
DashboardSectionTitleView("Libraries")
- }
-
- Section {
- NavigationStack {
- DashboardLibraryView()
- }
- } header: {
- DashboardSectionTitleView("Next up")
+ .padding([.top, .leading])
}
}
- .padding()
}
.navigationTitle("Home")
.toolbar {
diff --git a/Jel/Views/Library/Item/ItemHeaderView.swift b/Jel/Views/Library/Item/ItemHeaderView.swift
index 3930beb..b8a708a 100644
--- a/Jel/Views/Library/Item/ItemHeaderView.swift
+++ b/Jel/Views/Library/Item/ItemHeaderView.swift
@@ -21,18 +21,18 @@ struct ItemHeaderView: View {
var body: some View {
ZStack(alignment: .bottom) {
StickyHeaderView(minHeight: 300) {
- LibraryIconView(library: item, imageType: "Backdrop", contentMode: .fill)
+ ItemIconView(item: item, imageType: "Backdrop", contentMode: .fill)
.setCornerRadius(0)
.mask(overlayGradient)
.background {
- LibraryIconView(library: item, imageType: "Backdrop", contentMode: .fill)
+ ItemIconView(item: item, imageType: "Backdrop", contentMode: .fill)
.setCornerRadius(0)
.blur(radius: 50)
}
}
HStack {
- LibraryIconView(library: item, imageType: "Logo", width: 200, height: 100, placeHolder: AnyView(Text(item.name ?? "Unknown").font(.title).bold().truncationMode(.middle)))
+ ItemIconView(item: item, imageType: "Logo", width: 200, height: 100, placeHolder: AnyView(Text(item.name ?? "Unknown").font(.title).bold().truncationMode(.middle)))
.setCornerRadius(0)
.shadow(radius: 10)
.frame(alignment: .leading)
diff --git a/Jel/Views/Library/Item/ItemInfoView.swift b/Jel/Views/Library/Item/ItemInfoView.swift
index f682898..022fa71 100644
--- a/Jel/Views/Library/Item/ItemInfoView.swift
+++ b/Jel/Views/Library/Item/ItemInfoView.swift
@@ -21,8 +21,10 @@ struct ItemInfoView: View {
Text(item.genres?.first ?? "---")
.shadow(color: .black, radius: 1)
}
- Text(item.getRuntime() ?? "-:--")
- .shadow(color: .black, radius: 1)
+ if item.type == .movie {
+ Text(item.getRuntime() ?? "-:--")
+ .shadow(color: .black, radius: 1)
+ }
}
.font(.caption)
}
diff --git a/Jel/Views/Library/LibraryIconView.swift b/Jel/Views/Library/ItemIconView.swift
index 800d488..ec3952c 100644
--- a/Jel/Views/Library/LibraryIconView.swift
+++ b/Jel/Views/Library/ItemIconView.swift
@@ -1,5 +1,5 @@
//
-// LibraryIconView.swift
+// ItemIconView.swift
// Jel
//
// Created by zerocool on 12/15/23.
@@ -9,10 +9,10 @@ import SwiftUI
import JellyfinKit
import NukeUI
-struct LibraryIconView: View {
+struct ItemIconView: View {
@EnvironmentObject var jellyfinClient: JellyfinClientController
- var library: BaseItemDto
+ var item: BaseItemDto
var imageType: String = "Primary"
var width: CGFloat?
@@ -46,20 +46,32 @@ struct LibraryIconView: View {
.frame(width: width, height: height)
.clipShape(RoundedRectangle(cornerRadius: imageCornerRadius))
.onAppear {
- let blurhash = library.imageBlurHashes?.primary?[library.imageTags?[imageType] ?? ""] ?? ""
+ let blurhash = getBlurHash(imageType: imageType)
blurHashImage = UIImage(blurHash: blurhash, size: CGSize(width: 32, height: 32)) ?? UIImage()
- let imageId = library.id ?? ""
+ let imageId = item.id ?? ""
let request = Paths.getItemImage(itemID: imageId, imageType: imageType)
imageUrl = jellyfinClient.getUrl()?.appending(path: request.url?.absoluteString ?? "")
}
if shouldShowCaption {
- Text(library.name ?? "Unknown")
+ Text(item.name ?? "Unknown")
.font(.subheadline)
}
}
}
+
+ private func getBlurHash(imageType: String) -> String {
+ switch imageType {
+ case "Primary":
+ return item.imageBlurHashes?.primary?[item.imageTags?[imageType] ?? ""] ?? ""
+ case "Backdrop":
+ return item.imageBlurHashes?.backdrop?[item.backdropImageTags?[0] ?? ""] ?? ""
+ default:
+ return ""
+ }
+ }
+
func showCaption(_ showCaption: Bool = true) -> Self {
var copy = self
copy.shouldShowCaption = showCaption
diff --git a/Jel/Views/Library/LibraryDetailView.swift b/Jel/Views/Library/LibraryDetailView.swift
index 1dc0c9c..ece4e74 100644
--- a/Jel/Views/Library/LibraryDetailView.swift
+++ b/Jel/Views/Library/LibraryDetailView.swift
@@ -39,7 +39,7 @@ struct LibraryDetailView: View {
NavigationLink {
ItemView(item: item)
} label: {
- LibraryIconView(library: item, imageType: "Primary", width: 150)
+ ItemIconView(item: item, imageType: "Primary", width: 150)
.showCaption()
.setAspectRatio(item.primaryImageAspectRatio ?? 0.6)
.padding()