final touch ups

This commit is contained in:
Ethan Pippin 2022-01-07 18:38:31 -07:00
parent 2bdaf173a4
commit e6d31bc281
8 changed files with 78 additions and 18 deletions

View File

@ -84,7 +84,7 @@ struct EpisodesRowView: View {
HStack(alignment: .top) { HStack(alignment: .top) {
VStack(alignment: .leading) { VStack(alignment: .leading) {
ImageView(src: episode.getBackdropImage(maxWidth: 445), ImageView(src: episode.getBackdropImage(maxWidth: 500),
bh: episode.getBackdropImageBlurHash()) bh: episode.getBackdropImageBlurHash())
.mask(Rectangle().frame(width: 500, height: 280)) .mask(Rectangle().frame(width: 500, height: 280))
.frame(width: 500, height: 280) .frame(width: 500, height: 280)

View File

@ -22,8 +22,13 @@ struct ContinueWatchingCard: View {
} label: { } label: {
ZStack(alignment: .bottom) { ZStack(alignment: .bottom) {
ImageView(src: item.getBackdropImage(maxWidth: 500)) if item.itemType == .episode {
.frame(width: 500, height: 281.25) ImageView(src: item.getSeriesBackdropImage(maxWidth: 500))
.frame(width: 500, height: 281.25)
} else {
ImageView(src: item.getBackdropImage(maxWidth: 500))
.frame(width: 500, height: 281.25)
}
VStack(alignment: .leading, spacing: 0) { VStack(alignment: .leading, spacing: 0) {
Text(item.getItemProgressString() ?? "") Text(item.getItemProgressString() ?? "")

View File

@ -31,6 +31,7 @@ struct CinematicEpisodeItemView: View {
ImageView(src: viewModel.item.getBackdropImage(maxWidth: 1920), ImageView(src: viewModel.item.getBackdropImage(maxWidth: 1920),
bh: viewModel.item.getBackdropImageBlurHash()) bh: viewModel.item.getBackdropImageBlurHash())
.frame(height: UIScreen.main.bounds.height - 10)
.ignoresSafeArea() .ignoresSafeArea()
ScrollView { ScrollView {

View File

@ -16,10 +16,60 @@ struct LatestMediaView: View {
@Default(.showPosterLabels) var showPosterLabels @Default(.showPosterLabels) var showPosterLabels
var body: some View { var body: some View {
PortraitItemsRowView(rowTitle: L10n.latestWithString(viewModel.library.name ?? ""), VStack(alignment: .leading) {
items: viewModel.items,
showItemTitles: showPosterLabels) { item in L10n.latestWithString(viewModel.library.name ?? "").text
homeRouter.route(to: \.modalItem, item) .font(.title3)
.padding(.horizontal, 50)
ScrollView(.horizontal) {
HStack(alignment: .top) {
ForEach(viewModel.items, id: \.self) { item in
VStack(spacing: 15) {
Button {
homeRouter.route(to: \.modalItem, item)
} label: {
ImageView(src: item.portraitHeaderViewURL(maxWidth: 257))
.frame(width: 257, height: 380)
}
.frame(height: 380)
.buttonStyle(PlainButtonStyle())
if showPosterLabels {
Text(item.title)
.lineLimit(2)
.frame(width: 257)
}
}
}
Button {
homeRouter.route(to: \.library, (viewModel: .init(parentID: viewModel.library.id!,
filters: LibraryFilters(filters: [], sortOrder: [.descending], sortBy: [.dateAdded])),
title: viewModel.library.name ?? ""))
} label: {
ZStack {
Color(UIColor.darkGray)
.opacity(0.5)
VStack(spacing: 20) {
Image(systemName: "chevron.right")
.font(.title)
L10n.seeAll.text
.font(.title3)
}
}
}
.frame(width: 257, height: 380)
.buttonStyle(PlainButtonStyle())
}
.padding(.horizontal, 50)
.padding(.vertical)
}
.edgesIgnoringSafeArea(.horizontal)
} }
.focusSection()
} }
} }

View File

@ -20,8 +20,13 @@ struct NextUpCard: View {
Button { Button {
homeRouter.route(to: \.modalItem, item) homeRouter.route(to: \.modalItem, item)
} label: { } label: {
ImageView(src: item.getBackdropImage(maxWidth: 500)) if item.itemType == .episode {
.frame(width: 500, height: 281.25) ImageView(src: item.getSeriesBackdropImage(maxWidth: 500))
.frame(width: 500, height: 281.25)
} else {
ImageView(src: item.getBackdropImage(maxWidth: 500))
.frame(width: 500, height: 281.25)
}
} }
.buttonStyle(CardButtonStyle()) .buttonStyle(CardButtonStyle())
.padding(.top) .padding(.top)

View File

@ -204,20 +204,20 @@ class VLCPlayerViewController: UIViewController {
hideConfirmCloseOverlay() hideConfirmCloseOverlay()
if Defaults[.downActionShowsMenu] { if Defaults[.downActionShowsMenu] {
if !displayingContentOverlay { if !displayingContentOverlay && !displayingOverlay {
didSelectMenu() didSelectMenu()
} }
} }
case .leftArrow: case .leftArrow:
hideConfirmCloseOverlay() hideConfirmCloseOverlay()
if !displayingContentOverlay { if !displayingContentOverlay && !displayingOverlay {
didSelectBackward() didSelectBackward()
} }
case .rightArrow: case .rightArrow:
hideConfirmCloseOverlay() hideConfirmCloseOverlay()
if !displayingContentOverlay { if !displayingContentOverlay && !displayingOverlay {
didSelectForward() didSelectForward()
} }
case .pageUp: () case .pageUp: ()
@ -239,9 +239,6 @@ class VLCPlayerViewController: UIViewController {
hideOverlay() hideOverlay()
} else if displayingContentOverlay { } else if displayingContentOverlay {
hideOverlayContent() hideOverlayContent()
showOverlay()
restartOverlayDismissTimer()
} else if viewModel.confirmClose && !displayingConfirmClose { } else if viewModel.confirmClose && !displayingConfirmClose {
showConfirmCloseOverlay() showConfirmCloseOverlay()

View File

@ -47,7 +47,7 @@ struct tvOSVLCOverlay: View {
if let subtitle = viewModel.subtitle { if let subtitle = viewModel.subtitle {
Text(subtitle) Text(subtitle)
.font(.subheadline) .font(.subheadline)
.foregroundColor(.lightGray) .foregroundColor(.white)
} }
Text(viewModel.title) Text(viewModel.title)

View File

@ -527,12 +527,14 @@ public final class TvOSSlider: UIControl {
@objc @objc
private func leftTapWasTriggered() { private func leftTapWasTriggered() {
setValue(value-stepValue, animated: true) // setValue(value-stepValue, animated: true)
viewModel.playerOverlayDelegate?.didSelectBackward()
} }
@objc @objc
private func rightTapWasTriggered() { private func rightTapWasTriggered() {
setValue(value+stepValue, animated: true) // setValue(value+stepValue, animated: true)
viewModel.playerOverlayDelegate?.didSelectForward()
} }
public override func pressesBegan(_ presses: Set<UIPress>, with event: UIPressesEvent?) { public override func pressesBegan(_ presses: Set<UIPress>, with event: UIPressesEvent?) {