diff --git a/Tweak.h b/Tweak.h index a9a10b7..7819ee7 100644 --- a/Tweak.h +++ b/Tweak.h @@ -97,6 +97,10 @@ -(id) initWithLeftIconImage:(id) arg1 text:(id) arg2 identifier:(id) arg3 context:(id) arg4; @end +@interface RUITheme +@property(assign,nonatomic) id bodyTextColor; +@end + @interface NSAttributedStringMarkdownParser +(id) currentConfig; +(id) attributedStringUsingCurrentConfig:(id) arg1; @@ -104,6 +108,16 @@ -(id) initWithConfig:(id) arg1; @end +@interface ThemeManager +@property(assign,nonatomic) id dayTheme; +@property(assign,nonatomic) id nightTheme; +-(id) initWithTraitCollection:(id) arg1 appSettings:(id) arg2; +@end + +@interface AppSettings ++(id) sharedSettings; +@end + /* -- ActivityIndicator Interfaces -- */ diff --git a/Tweak.xm b/Tweak.xm index d2d600d..a18470d 100644 --- a/Tweak.xm +++ b/Tweak.xm @@ -128,9 +128,16 @@ body = @"[an error occured]"; } - - id textColor = [[comment bodyRichTextAttributed] attributesAtIndex:0 longestEffectiveRange:nil inRange:NSMakeRange(0, [[comment bodyRichTextAttributed] length])][@"NSColor"]; - + id themeManager = [[%c(ThemeManager) alloc] initWithTraitCollection:nil appSettings:[%c(AppSettings) sharedSettings]]; + id isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"]; + id textColor; + + if (isNightMode) { + textColor = [[themeManager nightTheme] bodyTextColor]; + } else{ + textColor = [[themeManager dayTheme] bodyTextColor]; + } + NSMutableAttributedString *bodyMutableAttributedText = [[NSMutableAttributedString alloc] initWithAttributedString:[%c(NSAttributedStringMarkdownParser) attributedStringUsingCurrentConfig:body]]; [bodyMutableAttributedText beginEditing]; @@ -139,6 +146,10 @@ [bodyMutableAttributedText addAttribute:NSForegroundColorAttributeName value:textColor range:range]; }]; [bodyMutableAttributedText endEditing]; + + + + [comment setValue:bodyMutableAttributedText forKey:@"bodyRichTextAttributed"]; @@ -156,6 +167,7 @@ [request release]; [queue release]; [bodyMutableAttributedText release]; + [themeManager release]; }]; } } @@ -242,10 +254,14 @@ body = @"[an error occured]"; } - id textColor = [[post selfPostRichTextAttributed] attributesAtIndex:0 longestEffectiveRange:nil inRange:NSMakeRange(0, [[post selfPostRichTextAttributed] length])][@"NSColor"]; + id themeManager = [[%c(ThemeManager) alloc] initWithTraitCollection:nil appSettings:[%c(AppSettings) sharedSettings]]; + id isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"]; + id textColor; - if (textColor == nil){ - textColor = [UIColor colorWithRed:0.843137 green:0.854902 blue:0.862745 alpha:1.0]; + if (isNightMode) { + textColor = [[themeManager nightTheme] bodyTextColor]; + } else{ + textColor = [[themeManager dayTheme] bodyTextColor]; } NSMutableAttributedString *bodyMutableAttributedText = [[NSMutableAttributedString alloc] initWithAttributedString:[%c(NSAttributedStringMarkdownParser) attributedStringUsingCurrentConfig:body]]; @@ -268,6 +284,7 @@ [request release]; [queue release]; [bodyMutableAttributedText release]; + [themeManager release]; }]; } }