From 9afbdb2dac562be581bd4deda5051946e58fbd1f Mon Sep 17 00:00:00 2001 From: arichorn <78001398+arichorn@users.noreply.github.com> Date: Wed, 13 Sep 2023 16:43:58 -0500 Subject: [PATCH] Fix OLD Dark Theme Fix OLD Dark Theme not working on newer YouTube Versions. --- Source/Themes.xm | 76 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 60 insertions(+), 16 deletions(-) diff --git a/Source/Themes.xm b/Source/Themes.xm index 8eff4b3..5d66506 100644 --- a/Source/Themes.xm +++ b/Source/Themes.xm @@ -157,21 +157,14 @@ UIColor *originalColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alph } %end -%hook YTWatchView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig(originalColor) : %orig; -} -%end - -%hook YTPageView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig(originalColor) : %orig; -} -%end - -%hook YTPrivacyTosFooterView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig(originalColor) : %orig; +%hook YTAsyncCollectionView +- (void)layoutSubviews { + %orig(); + if ([self.nextResponder isKindOfClass:NSClassFromString(@"YTWatchNextResultsViewController")]) { + if (isDarkMode()) { + self.subviews[0].subviews[0].backgroundColor = originalColor; + } + } } %end @@ -188,13 +181,16 @@ UIColor *originalColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alph } %end -%hook YTEmojiTextView +%hook YCHLiveChatActionPanelView - (void)setBackgroundColor:(UIColor *)color { return isDarkMode() ? %orig(originalColor) : %orig; } %end %hook YCHLiveChatView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig(originalColor) : %orig; +} - (void)didMoveToWindow { %orig; if (isDarkMode()) { @@ -203,12 +199,60 @@ UIColor *originalColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alph } %end +%hook YTEmojiTextView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig(originalColor) : %orig; +} +%end + +%hook YTAppView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig(originalColor) : %orig; +} +%end + %hook YTCollectionView - (void)setBackgroundColor:(UIColor *)color { return isDarkMode() ? %orig(originalColor) : %orig; } %end +%hook YTChannelListSubMenuView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig(originalColor) : %orig; +} +%end + +%hook YTChannelSubMenuView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig(originalColor) : %orig; +} +%end + +%hook YTWrapperSplitView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig(originalColor) : %orig; +} +%end + +%hook YTPageView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig(originalColor) : %orig; +} +%end + +%hook YTWatchView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig(originalColor) : %orig; +} +%end + +%hook YTPrivacyTosFooterView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig(originalColor) : %orig; +} +%end + // %hook YTBackstageCreateRepostDetailView - (void)setBackgroundColor:(UIColor *)color {