From cfac3d25e6cbd523300e9966057581f3adf68f4f Mon Sep 17 00:00:00 2001 From: arichorn <78001398+arichorn@users.noreply.github.com> Date: Wed, 23 Aug 2023 16:03:01 -0500 Subject: [PATCH] Revert OLED Dark Theme Modifications I kept some of the modifications for OLED because it is important for it to function as intended. --- Source/Themes.xm | 374 +++++++++++++---------------------------------- 1 file changed, 99 insertions(+), 275 deletions(-) diff --git a/Source/Themes.xm b/Source/Themes.xm index a92f983..305e1c6 100644 --- a/Source/Themes.xm +++ b/Source/Themes.xm @@ -542,7 +542,7 @@ UIColor *originalColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alph %end %end -// OLED dark mode by @BandarHL and modified by @arichorn +// OLED dark mode by @BandarHL UIColor* raisedColor = [UIColor blackColor]; %group gOLED %hook YTCommonColorPalette @@ -584,6 +584,7 @@ UIColor* raisedColor = [UIColor blackColor]; } %end +// uYou settings %hook UITableViewCell - (void)_layoutSystemBackgroundView { %orig; @@ -617,6 +618,43 @@ UIColor* raisedColor = [UIColor blackColor]; } %end +%hook YTInnerTubeCollectionViewController +- (UIColor *)backgroundColor:(NSInteger)pageStyle { + return pageStyle == 1 ? [UIColor blackColor] : %orig; +} +%end + +// Explore +%hook ASScrollView +- (void)didMoveToWindow { + %orig; + if (isDarkMode()) { + self.backgroundColor = [UIColor clearColor]; + } +} +%end + +// Your videos +%hook ASCollectionView +- (void)didMoveToWindow { + %orig; + if (isDarkMode() && [self.nextResponder isKindOfClass:%c(_ASDisplayView)]) { + self.superview.backgroundColor = [UIColor blackColor]; + } +} +%end + +// Sub menu? +%hook ELMView +- (void)didMoveToWindow { + %orig; + if (isDarkMode()) { + self.subviews[0].backgroundColor = [UIColor clearColor]; + } +} +%end + +// iSponsorBlock %hook SponsorBlockSettingsController - (void)viewDidLoad { if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { @@ -634,115 +672,24 @@ UIColor* raisedColor = [UIColor blackColor]; } else { return %orig; } } %end -%hook ELMView -- (void)didMoveToWindow { - %orig; - self.subviews[0].backgroundColor = [UIColor clearColor]; -} -%end -%hook YTAsyncCollectionView -- (void)layoutSubviews { - %orig(); - if ([self.nextResponder isKindOfClass:NSClassFromString(@"YTWatchNextResultsViewController")]) { - if (isDarkMode()) { - self.subviews[0].subviews[0].backgroundColor = [UIColor blackColor]; - } - } -} -%end - -%hook YTPivotBarView +// Search View +%hook YTSearchBarView - (void)setBackgroundColor:(UIColor *)color { return isDarkMode() ? %orig([UIColor blackColor]) : %orig; } %end -%hook YTHeaderView +// History Search view +%hook YTSearchBoxView - (void)setBackgroundColor:(UIColor *)color { return isDarkMode() ? %orig([UIColor blackColor]) : %orig; + } %end -%hook YTSubheaderContainerView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTAppView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTCollectionView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTChannelListSubMenuView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTSettingsCell -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTSlideForActionsView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTPageView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTWatchView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTPlaylistMiniBarView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTEngagementPanelView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTEngagementPanelHeaderView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTPlaylistPanelControlsView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTHorizontalCardListView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTWatchMiniBarView +// Comment view +%hook YTCommentView - (void)setBackgroundColor:(UIColor *)color { return isDarkMode() ? %orig([UIColor blackColor]) : %orig; } @@ -758,57 +705,28 @@ UIColor* raisedColor = [UIColor blackColor]; - (void)setBackgroundColor:(UIColor *)color { return isDarkMode() ? %orig([UIColor blackColor]) : %orig; } -%end - -%hook YTSearchView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; +- (void)setTextColor:(UIColor *)color { // fix black text in #Shorts video's comment + return isDarkMode() ? %orig([UIColor whiteColor]) : %orig; } %end -%hook YTSearchBoxView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; +%hook YTCommentDetailHeaderCell +- (void)didMoveToWindow { + %orig; + if (isDarkMode()) { + self.subviews[2].backgroundColor = [UIColor blackColor]; + } } %end -%hook YTTabTitlesView +%hook YTFormattedStringLabel // YT is werid... - (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; + return isDarkMode() ? %orig([UIColor clearColor]) : %orig; } %end -%hook YTPrivacyTosFooterView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTOfflineStorageUsageView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTInlineSignInView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTFeedChannelFilterHeaderView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YCHLiveChatView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YCHLiveChatActionPanelView +// Live chat comment +%hook YCHLiveChatActionPanelView - (void)setBackgroundColor:(UIColor *)color { return isDarkMode() ? %orig([UIColor blackColor]) : %orig; } @@ -820,165 +738,71 @@ UIColor* raisedColor = [UIColor blackColor]; } %end -%hook YTTopAlignedView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -- (void)layoutSubviews { - %orig(); +%hook YCHLiveChatView +- (void)didMoveToWindow { + %orig; if (isDarkMode()) { - MSHookIvar(self, "_contentView").backgroundColor = [UIColor blackColor]; + self.subviews[1].backgroundColor = [UIColor blackColor]; } } %end -%hook GOODialogView +%hook YTCollectionView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig([UIColor blackColor]) : %orig; +} +%end + +// +%hook YTBackstageCreateRepostDetailView - (void)setBackgroundColor:(UIColor *)color { return isDarkMode() ? %orig([UIColor blackColor]) : %orig; } %end -%hook YTNavigationBar -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -- (void)setBarTintColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTChannelMobileHeaderView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTChannelSubMenuView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTWrapperSplitView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTReelShelfCell -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTReelShelfItemView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTReelShelfView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTCommentView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTChannelListSubMenuAvatarView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTSearchBarView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTDialogContainerScrollView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTShareTitleView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTShareBusyView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTELMView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTActionSheetHeaderView -- (void)setBackgroundColor:(UIColor *)color { - return isDarkMode() ? %orig([UIColor blackColor]) : %orig; -} -%end - -%hook YTShareMainView -- (void)layoutSubviews { - %orig(); - if (isDarkMode()) { - MSHookIvar(self, "_cancelButton").backgroundColor = [UIColor blackColor]; - MSHookIvar(self, "_safeArea").backgroundColor = [UIColor blackColor]; - } -} -%end - +// Others %hook _ASDisplayView -- (void)layoutSubviews { - %orig; - if (isDarkMode()) { - UIResponder *responder = [self nextResponder]; - while (responder != nil) { - if ([responder isKindOfClass:NSClassFromString(@"YTActionSheetDialogViewController")]) { - self.backgroundColor = [UIColor blackColor]; - } - if ([responder isKindOfClass:NSClassFromString(@"YTPanelLoadingStrategyViewController")]) { - self.backgroundColor = [UIColor blackColor]; - } - if ([responder isKindOfClass:NSClassFromString(@"YTTabHeaderElementsViewController")]) { - self.backgroundColor = [UIColor blackColor]; - } - if ([responder isKindOfClass:NSClassFromString(@"YTEditSheetControllerElementsContentViewController")]) { - self.backgroundColor = [UIColor blackColor]; - } - responder = [responder nextResponder]; - } - } -} - (void)didMoveToWindow { %orig; if (isDarkMode()) { if ([self.nextResponder isKindOfClass:%c(ASScrollView)]) { self.backgroundColor = [UIColor clearColor]; } - if ([self.accessibilityIdentifier isEqualToString:@"brand.promo_view"]) { self.superview.backgroundColor = [UIColor blackColor]; } + if ([self.accessibilityIdentifier isEqualToString:@"brand.promo_view"]) { self.backgroundColor = [UIColor blackColor]; } if ([self.accessibilityIdentifier isEqualToString:@"eml.cvr"]) { self.backgroundColor = [UIColor blackColor]; } + if ([self.accessibilityIdentifier isEqualToString:@"eml.live_chat_text_message"]) { self.backgroundColor = [UIColor blackColor]; } if ([self.accessibilityIdentifier isEqualToString:@"rich_header"]) { self.backgroundColor = [UIColor blackColor]; } if ([self.accessibilityIdentifier isEqualToString:@"id.ui.comment_cell"]) { self.backgroundColor = [UIColor blackColor]; } if ([self.accessibilityIdentifier isEqualToString:@"id.ui.cancel.button"]) { self.superview.backgroundColor = [UIColor clearColor]; } if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.comment_composer"]) { self.backgroundColor = [UIColor blackColor]; } - if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.filter_chip_bar"]) { self.superview.backgroundColor = [UIColor blackColor]; } + if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.filter_chip_bar"]) { self.backgroundColor = [UIColor blackColor]; } if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.video_list_entry"]) { self.backgroundColor = [UIColor blackColor]; } if ([self.accessibilityIdentifier isEqualToString:@"id.comment.guidelines_text"]) { self.superview.backgroundColor = [UIColor blackColor]; } if ([self.accessibilityIdentifier isEqualToString:@"id.comment.channel_guidelines_bottom_sheet_container"]) { self.backgroundColor = [UIColor blackColor]; } if ([self.accessibilityIdentifier isEqualToString:@"id.comment.channel_guidelines_entry_banner_container"]) { self.backgroundColor = [UIColor blackColor]; } - if ([self.accessibilityIdentifier isEqualToString:@"id.comment.comment_group_detail_container"]) { self.backgroundColor = [UIColor clearColor]; } + if ([self.accessibilityIdentifier isEqualToString:@"id.comment.comment_group_detail_container"]) { self.backgroundColor = [UIColor clearColor]; } + } +} +%end + +// Open link with... +%hook ASWAppSwitchingSheetHeaderView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig(raisedColor) : %orig; +} +%end + +%hook ASWAppSwitchingSheetFooterView +- (void)setBackgroundColor:(UIColor *)color { + return isDarkMode() ? %orig(raisedColor) : %orig; +} +%end + +%hook ASWAppSwitcherCollectionViewCell +- (void)didMoveToWindow { + %orig; + if (isDarkMode()) { + self.backgroundColor = raisedColor; + self.subviews[1].backgroundColor = raisedColor; + self.superview.backgroundColor = raisedColor; } } %end