final touch ups
This commit is contained in:
parent
2bdaf173a4
commit
e6d31bc281
|
@ -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)
|
||||||
|
|
|
@ -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() ?? "")
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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?) {
|
||||||
|
|
Loading…
Reference in New Issue