summaryrefslogtreecommitdiff
path: root/Jel
diff options
context:
space:
mode:
Diffstat (limited to 'Jel')
-rw-r--r--Jel/Views/Item/ItemGenresView.swift (renamed from Jel/Views/Library/Item/ItemGenresView.swift)0
-rw-r--r--Jel/Views/Item/ItemHeaderView.swift (renamed from Jel/Views/Library/Item/ItemHeaderView.swift)0
-rw-r--r--Jel/Views/Item/ItemIconView.swift (renamed from Jel/Views/Library/ItemIconView.swift)0
-rw-r--r--Jel/Views/Item/ItemInfoView.swift (renamed from Jel/Views/Library/Item/ItemInfoView.swift)0
-rw-r--r--Jel/Views/Item/ItemMediaView.swift (renamed from Jel/Views/Library/Item/ItemMediaView.swift)1
-rw-r--r--Jel/Views/Item/ItemView.swift (renamed from Jel/Views/Library/Item/ItemView.swift)0
-rw-r--r--Jel/Views/Item/Person/ItemPeopleView.swift (renamed from Jel/Views/Library/Item/Person/ItemPeopleView.swift)13
-rw-r--r--Jel/Views/Item/Person/ItemPersonIconView.swift (renamed from Jel/Views/Library/Item/Person/ItemPersonIconView.swift)31
-rw-r--r--Jel/Views/Item/Types/ItemMovieView.swift (renamed from Jel/Views/Library/Item/Types/ItemMovieView.swift)6
9 files changed, 34 insertions, 17 deletions
diff --git a/Jel/Views/Library/Item/ItemGenresView.swift b/Jel/Views/Item/ItemGenresView.swift
index 4e8321f..4e8321f 100644
--- a/Jel/Views/Library/Item/ItemGenresView.swift
+++ b/Jel/Views/Item/ItemGenresView.swift
diff --git a/Jel/Views/Library/Item/ItemHeaderView.swift b/Jel/Views/Item/ItemHeaderView.swift
index 4c2bbe3..4c2bbe3 100644
--- a/Jel/Views/Library/Item/ItemHeaderView.swift
+++ b/Jel/Views/Item/ItemHeaderView.swift
diff --git a/Jel/Views/Library/ItemIconView.swift b/Jel/Views/Item/ItemIconView.swift
index c2006cc..c2006cc 100644
--- a/Jel/Views/Library/ItemIconView.swift
+++ b/Jel/Views/Item/ItemIconView.swift
diff --git a/Jel/Views/Library/Item/ItemInfoView.swift b/Jel/Views/Item/ItemInfoView.swift
index dda1c39..dda1c39 100644
--- a/Jel/Views/Library/Item/ItemInfoView.swift
+++ b/Jel/Views/Item/ItemInfoView.swift
diff --git a/Jel/Views/Library/Item/ItemMediaView.swift b/Jel/Views/Item/ItemMediaView.swift
index 1d1e53d..be8264a 100644
--- a/Jel/Views/Library/Item/ItemMediaView.swift
+++ b/Jel/Views/Item/ItemMediaView.swift
@@ -21,7 +21,6 @@ struct ItemMediaView: View {
Text(item.taglines?.count ?? 0 > 0 ? item.taglines?[0] ?? "" : "")
.font(.headline)
.frame(maxWidth: .infinity, alignment: .leading)
- .padding(.bottom)
ForEach(item.overview?.components(separatedBy: "<br>") ?? [], id: \.self) {overview in
Text(overview)
diff --git a/Jel/Views/Library/Item/ItemView.swift b/Jel/Views/Item/ItemView.swift
index da85f32..da85f32 100644
--- a/Jel/Views/Library/Item/ItemView.swift
+++ b/Jel/Views/Item/ItemView.swift
diff --git a/Jel/Views/Library/Item/Person/ItemPeopleView.swift b/Jel/Views/Item/Person/ItemPeopleView.swift
index 6e2a974..f007796 100644
--- a/Jel/Views/Library/Item/Person/ItemPeopleView.swift
+++ b/Jel/Views/Item/Person/ItemPeopleView.swift
@@ -20,9 +20,18 @@ struct ItemPeopleView: View {
.padding(.leading)
ScrollView(.horizontal) {
- LazyHStack(alignment: .top) {
+ // FIXME: For some reason, a LazyHStack clips the text for this view
+ HStack(alignment: .top) {
ForEach(item.people ?? [], id: \.iterId) {person in
- ItemPersonIconView(person: person)
+ NavigationLink {
+ VStack {
+ ItemPersonIconView(person: person)
+ Text("Subview")
+ }
+ .navigationTitle(person.name ?? "Unnamed")
+ } label: {
+ ItemPersonIconView(person: person)
+ }
}
}
.padding(.horizontal)
diff --git a/Jel/Views/Library/Item/Person/ItemPersonIconView.swift b/Jel/Views/Item/Person/ItemPersonIconView.swift
index a6e5161..b839deb 100644
--- a/Jel/Views/Library/Item/Person/ItemPersonIconView.swift
+++ b/Jel/Views/Item/Person/ItemPersonIconView.swift
@@ -11,12 +11,16 @@ import NukeUI
struct ItemPersonIconPlaceholderView: View {
var body: some View {
- VStack {
- Image(systemName: "person")
+ ZStack {
+ Color(uiColor: UIColor.secondarySystemBackground)
+ Image(systemName: "person.fill")
.resizable()
+ .aspectRatio(contentMode: .fit)
.padding()
- .scaledToFit()
+ .foregroundStyle(Color(uiColor: UIColor.secondarySystemFill))
}
+ .frame(height: 150)
+ .clipShape(RoundedRectangle(cornerRadius: 5))
}
}
@@ -27,39 +31,40 @@ struct ItemPersonIconView: View {
var person: BaseItemPerson
@State var personImageUrl: URL?
- @State var loading: Bool = true
var body: some View {
- VStack() {
+ VStack {
LazyImage(url: personImageUrl) {state in
if let image = state.image {
image
.resizable()
+ .aspectRatio(contentMode: .fit)
.clipShape(RoundedRectangle(cornerRadius: 5))
} else {
ItemPersonIconPlaceholderView()
}
}
- .aspectRatio(contentMode: .fit)
- .frame(width: 100, height: 170)
+ .frame(height: 170)
- VStack {
+ VStack(alignment: .leading) {
Text(person.name ?? "---")
- .font(.callout)
+ .font(.footnote)
+ .lineLimit(nil)
Text(person.role ?? "---")
.font(.caption)
- .foregroundStyle(.gray)
+ .foregroundStyle(Color(uiColor: UIColor.secondaryLabel))
+ .fixedSize(horizontal: false, vertical: true)
+ .lineLimit(nil)
}
- .frame(width: 100)
+ .multilineTextAlignment(.leading)
}
- // .redacted(reason: loading ? .placeholder : [])
+ .frame(width: 100)
.onAppear {
Task {
let request = Paths.getItemImage(itemID: person.id ?? "", imageType: "Primary")
let serverUrl = jellyfinClient.getUrl()
personImageUrl = serverUrl?.appending(path: request.url?.absoluteString ?? "")
- // loading = false
}
}
}
diff --git a/Jel/Views/Library/Item/Types/ItemMovieView.swift b/Jel/Views/Item/Types/ItemMovieView.swift
index 5181e73..5cb5c3b 100644
--- a/Jel/Views/Library/Item/Types/ItemMovieView.swift
+++ b/Jel/Views/Item/Types/ItemMovieView.swift
@@ -23,7 +23,7 @@ struct ItemMovieView: View {
.onChange(of: geo.frame(in: .global).minY) {
let minY = geo.frame(in: .global).minY
- pageScrolled = minY < -100
+ pageScrolled = minY < -150
}
}
}
@@ -32,8 +32,12 @@ struct ItemMovieView: View {
.padding()
ItemGenresView(item: item)
+ .padding(.bottom)
+ .foregroundStyle(Color.primary)
ItemPeopleView(item: item)
+ .padding(.bottom)
+ .foregroundStyle(Color.primary)
}
.navigationBarTitleDisplayMode(.inline)
.navigationTitle(item.name ?? "Untitled")