mirror of
https://github.com/yattee/yattee.git
synced 2024-12-22 05:23:41 +00:00
Allow hiding comments
This commit is contained in:
parent
af75afa912
commit
f5e509c091
@ -36,6 +36,8 @@ final class PlayerSettingsGroupExporter: SettingsGroupExporter {
|
||||
export["pauseOnEnteringBackground"].bool = Defaults[.pauseOnEnteringBackground]
|
||||
#endif
|
||||
|
||||
export["showComments"].bool = Defaults[.showComments]
|
||||
|
||||
#if !os(tvOS)
|
||||
export["showScrollToTopInComments"].bool = Defaults[.showScrollToTopInComments]
|
||||
#endif
|
||||
|
@ -83,6 +83,9 @@ struct PlayerSettingsGroupImporter {
|
||||
}
|
||||
#endif
|
||||
|
||||
if let showComments = json["showComments"].bool {
|
||||
Defaults[.showComments] = showComments
|
||||
}
|
||||
#if !os(tvOS)
|
||||
if let showScrollToTopInComments = json["showScrollToTopInComments"].bool {
|
||||
Defaults[.showScrollToTopInComments] = showScrollToTopInComments
|
||||
|
@ -85,6 +85,7 @@ extension Defaults.Keys {
|
||||
|
||||
static let playerSidebar = Key<PlayerSidebarSetting>("playerSidebar", default: .defaultValue)
|
||||
static let showKeywords = Key<Bool>("showKeywords", default: false)
|
||||
static let showComments = Key<Bool>("showComments", default: true)
|
||||
#if !os(tvOS)
|
||||
static let showScrollToTopInComments = Key<Bool>("showScrollToTopInComments", default: true)
|
||||
#endif
|
||||
|
@ -189,6 +189,7 @@ struct VideoDetails: View {
|
||||
@Default(.showChapterThumbnails) private var showChapterThumbnails
|
||||
@Default(.showChapterThumbnailsOnlyWhenDifferent) private var showChapterThumbnailsOnlyWhenDifferent
|
||||
@Default(.showRelated) private var showRelated
|
||||
@Default(.showComments) private var showComments
|
||||
#if !os(tvOS)
|
||||
@Default(.showScrollToTopInComments) private var showScrollToTopInComments
|
||||
#endif
|
||||
@ -284,6 +285,8 @@ struct VideoDetails: View {
|
||||
switch page {
|
||||
case .queue:
|
||||
return !sidebarQueue && player.isAdvanceToNextItemAvailable
|
||||
case .comments:
|
||||
return showComments
|
||||
default:
|
||||
return !video.isLocal
|
||||
}
|
||||
@ -362,10 +365,12 @@ struct VideoDetails: View {
|
||||
PlayerQueueView(sidebarQueue: false)
|
||||
.padding(.horizontal)
|
||||
case .comments:
|
||||
CommentsView()
|
||||
.onAppear {
|
||||
comments.loadIfNeeded()
|
||||
}
|
||||
if showComments {
|
||||
CommentsView()
|
||||
.onAppear {
|
||||
comments.loadIfNeeded()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.padding(.bottom, 60)
|
||||
|
@ -8,6 +8,7 @@ struct PlayerSettings: View {
|
||||
@Default(.playerSidebar) private var playerSidebar
|
||||
|
||||
@Default(.showKeywords) private var showKeywords
|
||||
@Default(.showComments) private var showComments
|
||||
#if !os(tvOS)
|
||||
@Default(.showScrollToTopInComments) private var showScrollToTopInComments
|
||||
@Default(.collapsedLinesDescription) private var collapsedLinesDescription
|
||||
@ -175,6 +176,7 @@ struct PlayerSettings: View {
|
||||
if !accounts.isEmpty {
|
||||
keywordsToggle
|
||||
|
||||
commentsToggle
|
||||
#if !os(tvOS)
|
||||
showScrollToTopInCommentsToggle
|
||||
#endif
|
||||
@ -250,9 +252,13 @@ struct PlayerSettings: View {
|
||||
.modifier(SettingsPickerModifier())
|
||||
}
|
||||
|
||||
private var commentsToggle: some View {
|
||||
Toggle("Show comments", isOn: $showComments)
|
||||
}
|
||||
|
||||
#if !os(tvOS)
|
||||
private var showScrollToTopInCommentsToggle: some View {
|
||||
Toggle("Show scroll to top button in comments", isOn: $showScrollToTopInComments)
|
||||
Toggle("Show scroll to top button in comments", isOn: $showScrollToTopInComments).disabled(!showComments)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user