Fix Native Dark Theme

fixed Native Dark Theme with a new implementation
This commit is contained in:
arichorn 2023-08-08 18:04:24 -05:00 committed by GitHub
parent a204bb1344
commit 754a5051f3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -6,6 +6,9 @@ static BOOL IsEnabled(NSString *key) {
static BOOL isDarkMode() {
return ([[NSUserDefaults standardUserDefaults] integerForKey:@"page_style"] == 1);
}
static BOOL defaultDarkTheme() {
return ([[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 0);
}
static BOOL oledDarkTheme() {
return ([[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 1);
}
@ -14,6 +17,81 @@ static BOOL oldDarkTheme() {
}
// Themes.xm - Theme Options
// Default Dark theme
%group gDefaultDarkTheme
UIColor *defaultColor = [UIColor colorWithRed: 0.06 green: 0.06 blue: 0.06 alpha: 1.00];
%hook YTPivotBarView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTHeaderView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTSubheaderContainerView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTAppView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTCollectionView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTChannelListSubMenuView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTSettingsCell
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTSlideForActionsView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTPageView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTWatchView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTPlaylistMiniBarView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTEngagementPanelView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTEngagementPanelHeaderView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%hook YTPlaylistPanelControlsView
- (void)setBackgroundColor:(UIColor *)color {
return isDarkMode() ? %orig(defaultColor) : %orig;
}
%end
%end
// Old dark theme (gray)
%group gOldDarkTheme
UIColor *originalColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0];