From 5334c57c65853bb4d3184f6de04ad8ca6ba24993 Mon Sep 17 00:00:00 2001 From: Dhocking Date: Wed, 12 Jun 2024 10:35:01 -0700 Subject: [PATCH] Add ability to hide "Recently Added" section at home screen (#1087) --- Shared/Services/SwiftfinDefaults.swift | 1 + Swiftfin tvOS/Views/HomeView/HomeView.swift | 12 +++++++++--- .../Views/SettingsView/CustomizeViewsSettings.swift | 5 +++++ Swiftfin/Views/HomeView/HomeView.swift | 6 +++++- .../Views/SettingsView/CustomizeViewsSettings.swift | 6 ++++++ 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/Shared/Services/SwiftfinDefaults.swift b/Shared/Services/SwiftfinDefaults.swift index e6431778..b1c1a214 100644 --- a/Shared/Services/SwiftfinDefaults.swift +++ b/Shared/Services/SwiftfinDefaults.swift @@ -112,6 +112,7 @@ extension Defaults.Keys { static let showPosterLabels: Key = UserKey("showPosterLabels", default: true) static let nextUpPosterType: Key = UserKey("nextUpPosterType", default: .portrait) static let recentlyAddedPosterType: Key = UserKey("recentlyAddedPosterType", default: .portrait) + static let showRecentlyAdded: Key = UserKey("showRecentlyAdded", default: true) static let latestInLibraryPosterType: Key = UserKey("latestInLibraryPosterType", default: .portrait) static let shouldShowMissingSeasons: Key = UserKey("shouldShowMissingSeasons", default: true) static let shouldShowMissingEpisodes: Key = UserKey("shouldShowMissingEpisodes", default: true) diff --git a/Swiftfin tvOS/Views/HomeView/HomeView.swift b/Swiftfin tvOS/Views/HomeView/HomeView.swift index 232932f4..daa04589 100644 --- a/Swiftfin tvOS/Views/HomeView/HomeView.swift +++ b/Swiftfin tvOS/Views/HomeView/HomeView.swift @@ -19,6 +19,9 @@ struct HomeView: View { @StateObject private var viewModel = HomeViewModel() + @Default(.Customization.showRecentlyAdded) + private var showRecentlyAdded + @ViewBuilder private var contentView: some View { ScrollView { @@ -29,10 +32,13 @@ struct HomeView: View { NextUpView(viewModel: viewModel.nextUpViewModel) - RecentlyAddedView(viewModel: viewModel.recentlyAddedViewModel) + if showRecentlyAdded { + RecentlyAddedView(viewModel: viewModel.recentlyAddedViewModel) + } } else { - CinematicRecentlyAddedView(viewModel: viewModel.recentlyAddedViewModel) - + if showRecentlyAdded { + CinematicRecentlyAddedView(viewModel: viewModel.recentlyAddedViewModel) + } NextUpView(viewModel: viewModel.nextUpViewModel) } diff --git a/Swiftfin tvOS/Views/SettingsView/CustomizeViewsSettings.swift b/Swiftfin tvOS/Views/SettingsView/CustomizeViewsSettings.swift index ca181847..2887d508 100644 --- a/Swiftfin tvOS/Views/SettingsView/CustomizeViewsSettings.swift +++ b/Swiftfin tvOS/Views/SettingsView/CustomizeViewsSettings.swift @@ -37,6 +37,8 @@ struct CustomizeViewsSettings: View { private var libraryRandomImage @Default(.Customization.Library.showFavorites) private var showFavorites + @Default(.Customization.showRecentlyAdded) + private var showRecentlyAdded @EnvironmentObject private var router: SettingsCoordinator.Router @@ -92,6 +94,9 @@ struct CustomizeViewsSettings: View { Toggle("Random Image", isOn: $libraryRandomImage) Toggle("Show Favorites", isOn: $showFavorites) + + Toggle("Show Recently Added", isOn: $showRecentlyAdded) + } header: { L10n.library.text } diff --git a/Swiftfin/Views/HomeView/HomeView.swift b/Swiftfin/Views/HomeView/HomeView.swift index b1868310..aa24518e 100644 --- a/Swiftfin/Views/HomeView/HomeView.swift +++ b/Swiftfin/Views/HomeView/HomeView.swift @@ -18,6 +18,8 @@ struct HomeView: View { @Default(.Customization.nextUpPosterType) private var nextUpPosterType + @Default(.Customization.showRecentlyAdded) + private var showRecentlyAdded @Default(.Customization.recentlyAddedPosterType) private var recentlyAddedPosterType @@ -38,7 +40,9 @@ struct HomeView: View { NextUpView(homeViewModel: viewModel) - RecentlyAddedView(viewModel: viewModel.recentlyAddedViewModel) + if showRecentlyAdded { + RecentlyAddedView(viewModel: viewModel.recentlyAddedViewModel) + } ForEach(viewModel.libraries) { viewModel in LatestInLibraryView(viewModel: viewModel) diff --git a/Swiftfin/Views/SettingsView/CustomizeViewsSettings.swift b/Swiftfin/Views/SettingsView/CustomizeViewsSettings.swift index 903f3d88..885e9836 100644 --- a/Swiftfin/Views/SettingsView/CustomizeViewsSettings.swift +++ b/Swiftfin/Views/SettingsView/CustomizeViewsSettings.swift @@ -38,6 +38,8 @@ struct CustomizeViewsSettings: View { private var nextUpPosterType @Default(.Customization.recentlyAddedPosterType) private var recentlyAddedPosterType + @Default(.Customization.showRecentlyAdded) + private var showRecentlyAdded @Default(.Customization.latestInLibraryPosterType) private var latestInLibraryPosterType @Default(.Customization.similarPosterType) @@ -160,6 +162,10 @@ struct CustomizeViewsSettings: View { } } + Section("Home") { + Toggle("Show recently added", isOn: $showRecentlyAdded) + } + Section { Toggle("Remember layout", isOn: $rememberLibraryLayout) } footer: {