diff --git a/lib/controller/settings.youtube.dart b/lib/controller/settings.youtube.dart index 2b28dff5..30b28b4b 100644 --- a/lib/controller/settings.youtube.dart +++ b/lib/controller/settings.youtube.dart @@ -10,17 +10,20 @@ class _YoutubeSettings with SettingsFileWriter { bool markVideoWatched = true; InnertubeClients? innertubeClient; bool whiteVideoBGInLightMode = false; + bool enableDimInLightMode = true; void save({ int? addToPlaylistsTabIndex, bool? markVideoWatched, InnertubeClients? innertubeClient, bool? whiteVideoBGInLightMode, + bool? enableDimInLightMode, }) { if (addToPlaylistsTabIndex != null) this.addToPlaylistsTabIndex = addToPlaylistsTabIndex; if (markVideoWatched != null) this.markVideoWatched = markVideoWatched; if (innertubeClient != null) this.innertubeClient = innertubeClient; if (whiteVideoBGInLightMode != null) this.whiteVideoBGInLightMode = whiteVideoBGInLightMode; + if (enableDimInLightMode != null) this.enableDimInLightMode = enableDimInLightMode; _writeToStorage(); } @@ -45,6 +48,7 @@ class _YoutubeSettings with SettingsFileWriter { markVideoWatched = json['markVideoWatched'] ?? markVideoWatched; innertubeClient = InnertubeClients.values.getEnum(json['innertubeClient']); whiteVideoBGInLightMode = json['whiteVideoBGInLightMode'] ?? whiteVideoBGInLightMode; + enableDimInLightMode = json['enableDimInLightMode'] ?? enableDimInLightMode; } catch (e) { printy(e, isError: true); } @@ -58,6 +62,7 @@ class _YoutubeSettings with SettingsFileWriter { 'markVideoWatched': markVideoWatched, 'innertubeClient': innertubeClient?.convertToString, 'whiteVideoBGInLightMode': whiteVideoBGInLightMode, + 'enableDimInLightMode': enableDimInLightMode, }; Future _writeToStorage() => writeToStorage(); diff --git a/lib/ui/widgets/settings/youtube_settings.dart b/lib/ui/widgets/settings/youtube_settings.dart index ba602cdf..dd796065 100644 --- a/lib/ui/widgets/settings/youtube_settings.dart +++ b/lib/ui/widgets/settings/youtube_settings.dart @@ -574,6 +574,11 @@ class __YTFlagsOptionsState extends State<_YTFlagsOptions> { onChanged: (isTrue) => setState(() => settings.youtube.save(whiteVideoBGInLightMode: !isTrue)), title: 'white_video_bg_in_light_mode'.toUpperCase(), ), + CustomSwitchListTile( + value: settings.youtube.enableDimInLightMode, + onChanged: (isTrue) => setState(() => settings.youtube.save(enableDimInLightMode: !isTrue)), + title: 'enable_dim_in_light_mode'.toUpperCase(), + ), ], ), ), diff --git a/lib/youtube/youtube_miniplayer.dart b/lib/youtube/youtube_miniplayer.dart index a16995ca..ed0e86c2 100644 --- a/lib/youtube/youtube_miniplayer.dart +++ b/lib/youtube/youtube_miniplayer.dart @@ -96,6 +96,7 @@ class YoutubeMiniPlayerState extends State { void startDimTimer() { cancelDimTimer(); + if (settings.youtube.enableDimInLightMode == false && namida.context?.isDarkMode == false) return; final int defaultMiniplayerDimSeconds = settings.ytMiniplayerDimAfterSeconds.value; if (defaultMiniplayerDimSeconds <= 0) return; final double defaultMiniplayerOpacity = settings.ytMiniplayerDimOpacity.value; diff --git a/pubspec.yaml b/pubspec.yaml index 617e8c9a..cd4a2d73 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: namida description: A Beautiful and Feature-rich Music Player, With YouTube & Video Support Built in Flutter publish_to: "none" -version: 3.5.8-beta+240722230 +version: 3.5.9-beta+240722230 environment: sdk: ">=3.4.0 <4.0.0"