mirror of
				https://github.com/yattee/yattee.git
				synced 2025-10-31 04:31:54 +00:00 
			
		
		
		
	Add setting for toggle video watch status
This commit is contained in:
		| @@ -52,6 +52,7 @@ extension Defaults.Keys { | |||||||
|         static let lockPortraitWhenBrowsing = Key<Bool>("lockPortraitWhenBrowsing", default: UIDevice.current.userInterfaceIdiom == .phone) |         static let lockPortraitWhenBrowsing = Key<Bool>("lockPortraitWhenBrowsing", default: UIDevice.current.userInterfaceIdiom == .phone) | ||||||
|     #endif |     #endif | ||||||
|     static let showUnwatchedFeedBadges = Key<Bool>("showUnwatchedFeedBadges", default: false) |     static let showUnwatchedFeedBadges = Key<Bool>("showUnwatchedFeedBadges", default: false) | ||||||
|  |     static let showToggleWatchedStatusButton = Key<Bool>("showToggleWatchedStatusButton", default: false) | ||||||
|     static let expandChannelDescription = Key<Bool>("expandChannelDescription", default: false) |     static let expandChannelDescription = Key<Bool>("expandChannelDescription", default: false) | ||||||
|     static let channelOnThumbnail = Key<Bool>("channelOnThumbnail", default: false) |     static let channelOnThumbnail = Key<Bool>("channelOnThumbnail", default: false) | ||||||
|     static let timeOnThumbnail = Key<Bool>("timeOnThumbnail", default: true) |     static let timeOnThumbnail = Key<Bool>("timeOnThumbnail", default: true) | ||||||
|   | |||||||
| @@ -16,6 +16,7 @@ struct BrowsingSettings: View { | |||||||
|     @Default(.thumbnailsQuality) private var thumbnailsQuality |     @Default(.thumbnailsQuality) private var thumbnailsQuality | ||||||
|     @Default(.channelOnThumbnail) private var channelOnThumbnail |     @Default(.channelOnThumbnail) private var channelOnThumbnail | ||||||
|     @Default(.timeOnThumbnail) private var timeOnThumbnail |     @Default(.timeOnThumbnail) private var timeOnThumbnail | ||||||
|  |     @Default(.showToggleWatchedStatusButton) private var showToggleWatchedStatusButton | ||||||
|     @Default(.showHome) private var showHome |     @Default(.showHome) private var showHome | ||||||
|     @Default(.showFavoritesInHome) private var showFavoritesInHome |     @Default(.showFavoritesInHome) private var showFavoritesInHome | ||||||
|     @Default(.showQueueInHome) private var showQueueInHome |     @Default(.showQueueInHome) private var showQueueInHome | ||||||
| @@ -244,6 +245,9 @@ struct BrowsingSettings: View { | |||||||
|             #endif |             #endif | ||||||
|             Toggle("Show channel name", isOn: $channelOnThumbnail) |             Toggle("Show channel name", isOn: $channelOnThumbnail) | ||||||
|             Toggle("Show video length", isOn: $timeOnThumbnail) |             Toggle("Show video length", isOn: $timeOnThumbnail) | ||||||
|  |             #if !os(tvOS) | ||||||
|  |                 Toggle("Show toggle watch status button", isOn: $showToggleWatchedStatusButton) | ||||||
|  |             #endif | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -8,21 +8,28 @@ struct WatchView: View { | |||||||
|     var duration: Double |     var duration: Double | ||||||
|  |  | ||||||
|     @Default(.watchedVideoBadgeColor) private var watchedVideoBadgeColor |     @Default(.watchedVideoBadgeColor) private var watchedVideoBadgeColor | ||||||
|  |     @Default(.showToggleWatchedStatusButton) private var showToggleWatchedStatusButton | ||||||
|  |  | ||||||
|     var backgroundContext = PersistenceController.shared.container.newBackgroundContext() |     var backgroundContext = PersistenceController.shared.container.newBackgroundContext() | ||||||
|  |  | ||||||
|     var body: some View { |     var body: some View { | ||||||
|         #if os(tvOS) |         if showToggleWatchedStatusButton { | ||||||
|  |             #if os(tvOS) | ||||||
|  |                 if finished { | ||||||
|  |                     image | ||||||
|  |                 } | ||||||
|  |             #else | ||||||
|  |                 Button(action: toggleWatch) { | ||||||
|  |                     image | ||||||
|  |                 } | ||||||
|  |                 .opacity(finished ? 1 : 0.4) | ||||||
|  |                 .buttonStyle(.plain) | ||||||
|  |             #endif | ||||||
|  |         } else { | ||||||
|             if finished { |             if finished { | ||||||
|                 image |                 image | ||||||
|             } |             } | ||||||
|         #else |         } | ||||||
|             Button(action: toggleWatch) { |  | ||||||
|                 image |  | ||||||
|             } |  | ||||||
|             .opacity(finished ? 1 : 0.4) |  | ||||||
|             .buttonStyle(.plain) |  | ||||||
|         #endif |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     var image: some View { |     var image: some View { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Arkadiusz Fal
					Arkadiusz Fal