Fix building and LiveTV item layout (#752)

This commit is contained in:
Julian Hays 2023-04-22 11:00:38 -05:00 committed by GitHub
parent 5c957051ec
commit a9db83d26a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 34 additions and 49 deletions

View File

@ -92,12 +92,11 @@ struct LiveTVChannelItemElement: View {
programLabel(
timeText: currentProgramText.timeDisplay,
titleText: currentProgramText.title,
color: Color("TextHighlightColor"),
color: Color.primary,
font: Font.system(size: 20, weight: .bold, design: .default)
)
if !nextProgramsText.isEmpty,
let nextItem = nextProgramsText[0]
{
if !nextProgramsText.isEmpty {
let nextItem = nextProgramsText[0]
programLabel(
timeText: nextItem.timeDisplay,
titleText: nextItem.title,
@ -105,9 +104,8 @@ struct LiveTVChannelItemElement: View {
font: Font.system(size: 20, design: .default)
)
}
if nextProgramsText.count > 1,
let nextItem2 = nextProgramsText[1]
{
if nextProgramsText.count > 1 {
let nextItem2 = nextProgramsText[1]
programLabel(
timeText: nextItem2.timeDisplay,
titleText: nextItem2.title,
@ -141,6 +139,7 @@ struct LiveTVChannelItemElement: View {
}
}
}
.frame(minWidth: 400, minHeight: 400)
.overlay(
RoundedRectangle(cornerRadius: 20)
.stroke(isFocused ? Color.blue : Color.clear, lineWidth: 4)

View File

@ -21,9 +21,8 @@ struct LiveTVProgramsView: View {
var body: some View {
ScrollView {
LazyVStack(alignment: .leading) {
if !viewModel.recommendedItems.isEmpty,
let items = viewModel.recommendedItems
{
if !viewModel.recommendedItems.isEmpty {
let items = viewModel.recommendedItems
Text("On Now")
.font(.headline)
.fontWeight(.semibold)
@ -47,9 +46,8 @@ struct LiveTVProgramsView: View {
}
}.frame(height: 350)
}
if !viewModel.seriesItems.isEmpty,
let items = viewModel.seriesItems
{
if !viewModel.seriesItems.isEmpty {
let items = viewModel.seriesItems
Text("Shows")
.font(.headline)
.fontWeight(.semibold)
@ -73,9 +71,8 @@ struct LiveTVProgramsView: View {
}
}.frame(height: 350)
}
if !viewModel.movieItems.isEmpty,
let items = viewModel.movieItems
{
if !viewModel.movieItems.isEmpty {
let items = viewModel.movieItems
Text("Movies")
.font(.headline)
.fontWeight(.semibold)
@ -99,9 +96,8 @@ struct LiveTVProgramsView: View {
}
}.frame(height: 350)
}
if !viewModel.sportsItems.isEmpty,
let items = viewModel.sportsItems
{
if !viewModel.sportsItems.isEmpty {
let items = viewModel.sportsItems
Text("Sports")
.font(.headline)
.fontWeight(.semibold)
@ -125,9 +121,8 @@ struct LiveTVProgramsView: View {
}
}.frame(height: 350)
}
if !viewModel.kidsItems.isEmpty,
let items = viewModel.kidsItems
{
if !viewModel.kidsItems.isEmpty {
let items = viewModel.kidsItems
Text("Kids")
.font(.headline)
.fontWeight(.semibold)
@ -151,9 +146,8 @@ struct LiveTVProgramsView: View {
}
}.frame(height: 350)
}
if !viewModel.newsItems.isEmpty,
let items = viewModel.newsItems
{
if !viewModel.newsItems.isEmpty {
let items = viewModel.newsItems
Text("News")
.font(.headline)
.fontWeight(.semibold)

View File

@ -105,14 +105,12 @@ struct LiveTVChannelItemWideElement: View {
titleText: currentProgramText.title,
color: Color("TextHighlightColor")
)
if !nextProgramsText.isEmpty,
let nextItem = nextProgramsText[0]
{
if !nextProgramsText.isEmpty {
let nextItem = nextProgramsText[0]
programLabel(timeText: nextItem.timeDisplay, titleText: nextItem.title, color: Color.gray)
}
if nextProgramsText.count > 1,
let nextItem2 = nextProgramsText[1]
{
if nextProgramsText.count > 1 {
let nextItem2 = nextProgramsText[1]
programLabel(timeText: nextItem2.timeDisplay, titleText: nextItem2.title, color: Color.gray)
}
Spacer()

View File

@ -19,9 +19,8 @@ struct LiveTVProgramsView: View {
var body: some View {
ScrollView {
LazyVStack(alignment: .leading) {
if !viewModel.recommendedItems.isEmpty,
let items = viewModel.recommendedItems
{
if !viewModel.recommendedItems.isEmpty {
let items = viewModel.recommendedItems
PosterHStack(title: "On Now", type: .portrait, items: items)
// .onSelect { item in
// if let chanId = item.channelId,
@ -33,9 +32,8 @@ struct LiveTVProgramsView: View {
// }
// }
}
if !viewModel.seriesItems.isEmpty,
let items = viewModel.seriesItems
{
if !viewModel.seriesItems.isEmpty {
let items = viewModel.seriesItems
PosterHStack(title: "Shows", type: .portrait, items: items)
// .onSelect { item in
// if let chanId = item.channelId,
@ -47,9 +45,8 @@ struct LiveTVProgramsView: View {
// }
// }
}
if !viewModel.movieItems.isEmpty,
let items = viewModel.movieItems
{
if !viewModel.movieItems.isEmpty {
let items = viewModel.movieItems
PosterHStack(title: "Movies", type: .portrait, items: items)
// .onSelect { item in
// if let chanId = item.channelId,
@ -61,9 +58,8 @@ struct LiveTVProgramsView: View {
// }
// }
}
if !viewModel.sportsItems.isEmpty,
let items = viewModel.sportsItems
{
if !viewModel.sportsItems.isEmpty {
let items = viewModel.sportsItems
PosterHStack(title: "Sports", type: .portrait, items: items)
// .onSelect { item in
// if let chanId = item.channelId,
@ -75,9 +71,8 @@ struct LiveTVProgramsView: View {
// }
// }
}
if !viewModel.kidsItems.isEmpty,
let items = viewModel.kidsItems
{
if !viewModel.kidsItems.isEmpty {
let items = viewModel.kidsItems
PosterHStack(title: "Kids", type: .portrait, items: items)
// .onSelect { item in
// if let chanId = item.channelId,
@ -89,9 +84,8 @@ struct LiveTVProgramsView: View {
// }
// }
}
if !viewModel.newsItems.isEmpty,
let items = viewModel.newsItems
{
if !viewModel.newsItems.isEmpty {
let items = viewModel.newsItems
PosterHStack(title: "News", type: .portrait, items: items)
// .onSelect { item in
// if let chanId = item.channelId,