diff --git a/Shared/Defaults.swift b/Shared/Defaults.swift index 75e922a9..668d1562 100644 --- a/Shared/Defaults.swift +++ b/Shared/Defaults.swift @@ -36,6 +36,7 @@ extension Defaults.Keys { #endif static let channelOnThumbnail = Key("channelOnThumbnail", default: true) static let timeOnThumbnail = Key("timeOnThumbnail", default: true) + static let showHistoryInPlayer = Key("showHistoryInPlayer", default: false) static let quality = Key("quality", default: .best) static let playerSidebar = Key("playerSidebar", default: PlayerSidebarSetting.defaultValue) diff --git a/Shared/Player/PlayerQueueView.swift b/Shared/Player/PlayerQueueView.swift index 9e4ac62f..26be5486 100644 --- a/Shared/Player/PlayerQueueView.swift +++ b/Shared/Player/PlayerQueueView.swift @@ -13,6 +13,7 @@ struct PlayerQueueView: View { @EnvironmentObject private var player @Default(.saveHistory) private var saveHistory + @Default(.showHistoryInPlayer) private var showHistoryInPlayer var body: some View { List { @@ -21,7 +22,7 @@ struct PlayerQueueView: View { if sidebarQueue { related } - if saveHistory { + if saveHistory, showHistoryInPlayer { playedPreviously } } diff --git a/Shared/Player/PlayerViewController.swift b/Shared/Player/PlayerViewController.swift index 6ccb9203..09601fbb 100644 --- a/Shared/Player/PlayerViewController.swift +++ b/Shared/Player/PlayerViewController.swift @@ -66,9 +66,15 @@ final class PlayerViewController: UIViewController { if CommentsModel.enabled { infoViewControllers.append(infoViewController([.comments], title: "Comments")) } + + var queueSections = [NowPlayingView.ViewSection.playingNext] + if Defaults[.showHistoryInPlayer] { + queueSections.append(.playedPreviously) + } + infoViewControllers.append(contentsOf: [ infoViewController([.related], title: "Related"), - infoViewController([.playingNext, .playedPreviously], title: "Playing Next") + infoViewController(queueSections, title: "Queue") ]) playerView.customInfoViewControllers = infoViewControllers diff --git a/Shared/Settings/PlaybackSettings.swift b/Shared/Settings/PlaybackSettings.swift index c338b2ea..f89ceec5 100644 --- a/Shared/Settings/PlaybackSettings.swift +++ b/Shared/Settings/PlaybackSettings.swift @@ -6,6 +6,7 @@ struct PlaybackSettings: View { @Default(.playerInstanceID) private var playerInstanceID @Default(.quality) private var quality @Default(.playerSidebar) private var playerSidebar + @Default(.showHistoryInPlayer) private var showHistory @Default(.showKeywords) private var showKeywords @Default(.showChannelSubscribers) private var channelSubscribers @Default(.pauseOnHidingPlayer) private var pauseOnHidingPlayer @@ -33,6 +34,7 @@ struct PlaybackSettings: View { } keywordsToggle + showHistoryToggle channelSubscribersToggle pauseOnHidingPlayerToggle } @@ -58,6 +60,7 @@ struct PlaybackSettings: View { #endif keywordsToggle + showHistoryToggle channelSubscribersToggle pauseOnHidingPlayerToggle @@ -132,6 +135,10 @@ struct PlaybackSettings: View { Toggle("Show video keywords", isOn: $showKeywords) } + private var showHistoryToggle: some View { + Toggle("Show history of videos", isOn: $showHistory) + } + private var channelSubscribersToggle: some View { Toggle("Show channel subscribers count", isOn: $channelSubscribers) }