From 8cf5f3e58feaaff87da750129dd290c2f0e1dd08 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Wed, 19 Sep 2018 10:08:27 -0400 Subject: [PATCH] New grayscale palette. --- .../Cells/OWSGenericAttachmentView.m | 2 +- .../ConversationInputTextView.m | 2 +- .../ViewControllers/HomeView/HomeViewCell.m | 2 +- .../MenuActionsViewController.swift | 14 ++--- .../AttachmentApprovalViewController.swift | 2 +- SignalMessaging/categories/Theme.h | 2 +- SignalMessaging/categories/Theme.m | 18 +++--- SignalMessaging/categories/UIColor+OWS.h | 28 ++++----- SignalMessaging/categories/UIColor+OWS.m | 58 +++++++------------ SignalMessaging/utils/ConversationStyle.swift | 10 ++-- 10 files changed, 62 insertions(+), 76 deletions(-) diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSGenericAttachmentView.m b/Signal/src/ViewControllers/ConversationView/Cells/OWSGenericAttachmentView.m index f7118adb1..2be73de8e 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSGenericAttachmentView.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSGenericAttachmentView.m @@ -116,7 +116,7 @@ NS_ASSUME_NONNULL_BEGIN UILabel *fileTypeLabel = [UILabel new]; fileTypeLabel.text = fileExtension.localizedUppercaseString; - fileTypeLabel.textColor = [UIColor ows_light90Color]; + fileTypeLabel.textColor = [UIColor ows_gray90Color]; fileTypeLabel.lineBreakMode = NSLineBreakByTruncatingTail; fileTypeLabel.font = [UIFont ows_dynamicTypeCaption1Font].ows_mediumWeight; fileTypeLabel.adjustsFontSizeToFitWidth = YES; diff --git a/Signal/src/ViewControllers/ConversationView/ConversationInputTextView.m b/Signal/src/ViewControllers/ConversationView/ConversationInputTextView.m index eded7fae7..d9e03324c 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationInputTextView.m +++ b/Signal/src/ViewControllers/ConversationView/ConversationInputTextView.m @@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN self.delegate = self; - self.backgroundColor = (Theme.isDarkThemeEnabled ? UIColor.ows_dark85Color : UIColor.ows_light02Color); + self.backgroundColor = (Theme.isDarkThemeEnabled ? UIColor.ows_gray90Color : UIColor.ows_gray02Color); self.layer.borderColor = (Theme.isDarkThemeEnabled ? [Theme.primaryColor colorWithAlphaComponent:0.06f].CGColor : [Theme.primaryColor colorWithAlphaComponent:0.12f].CGColor); diff --git a/Signal/src/ViewControllers/HomeView/HomeViewCell.m b/Signal/src/ViewControllers/HomeView/HomeViewCell.m index a30c3d434..ab57c9d04 100644 --- a/Signal/src/ViewControllers/HomeView/HomeViewCell.m +++ b/Signal/src/ViewControllers/HomeView/HomeViewCell.m @@ -270,7 +270,7 @@ NS_ASSUME_NONNULL_BEGIN UIImage *_Nullable statusIndicatorImage = nil; // TODO: Theme, Review with design. UIColor *messageStatusViewTintColor - = (Theme.isDarkThemeEnabled ? [UIColor ows_dark30Color] : [UIColor ows_light35Color]); + = (Theme.isDarkThemeEnabled ? [UIColor ows_gray25Color] : [UIColor ows_gray45Color]); BOOL shouldAnimateStatusIcon = NO; if ([self.thread.lastMessageForInbox isKindOfClass:[TSOutgoingMessage class]]) { TSOutgoingMessage *outgoingMessage = (TSOutgoingMessage *)self.thread.lastMessageForInbox; diff --git a/Signal/src/ViewControllers/MenuActionsViewController.swift b/Signal/src/ViewControllers/MenuActionsViewController.swift index 166dc5c1a..42b49aaaa 100644 --- a/Signal/src/ViewControllers/MenuActionsViewController.swift +++ b/Signal/src/ViewControllers/MenuActionsViewController.swift @@ -290,8 +290,8 @@ class MenuActionSheetView: UIView, MenuActionViewDelegate { super.init(frame: frame) backgroundColor = (Theme.isDarkThemeEnabled - ? UIColor.ows_dark85 - : UIColor.ows_light10) + ? UIColor.ows_gray90 + : UIColor.ows_gray05) addSubview(actionStackView) actionStackView.autoPinEdgesToSuperviewEdges() @@ -421,7 +421,7 @@ class MenuActionView: UIButton { } let imageView = UIImageView(image: image) if Theme.isDarkThemeEnabled { - imageView.tintColor = UIColor.ows_dark30 + imageView.tintColor = UIColor.ows_gray25 } let imageWidth: CGFloat = 24 imageView.autoSetDimensions(to: CGSize(width: imageWidth, height: imageWidth)) @@ -436,7 +436,7 @@ class MenuActionView: UIButton { let subtitleLabel = UILabel() subtitleLabel.font = UIFont.ows_dynamicTypeSubheadline subtitleLabel.textColor = (Theme.isDarkThemeEnabled - ? UIColor.ows_dark30 + ? UIColor.ows_gray25 : Theme.secondaryColor) subtitleLabel.text = action.subtitle subtitleLabel.isUserInteractionEnabled = false @@ -463,14 +463,14 @@ class MenuActionView: UIButton { private var defaultBackgroundColor: UIColor { return (Theme.isDarkThemeEnabled - ? UIColor.ows_dark60 + ? UIColor.ows_gray75 : UIColor.white) } private var highlightedBackgroundColor: UIColor { return (Theme.isDarkThemeEnabled - ? UIColor.ows_dark70 - : UIColor.ows_light10) + ? UIColor.ows_gray75 + : UIColor.ows_gray05) } override var isHighlighted: Bool { diff --git a/SignalMessaging/ViewControllers/AttachmentApprovalViewController.swift b/SignalMessaging/ViewControllers/AttachmentApprovalViewController.swift index 5885ef60a..81e279758 100644 --- a/SignalMessaging/ViewControllers/AttachmentApprovalViewController.swift +++ b/SignalMessaging/ViewControllers/AttachmentApprovalViewController.swift @@ -532,7 +532,7 @@ class CaptioningToolbar: UIView, UITextViewDelegate { textView.delegate = self textView.keyboardAppearance = Theme.keyboardAppearance - textView.backgroundColor = (Theme.isDarkThemeEnabled ? UIColor.ows_dark85 : UIColor.ows_light02) + textView.backgroundColor = (Theme.isDarkThemeEnabled ? UIColor.ows_gray90 : UIColor.ows_gray02) textView.layer.borderColor = (Theme.isDarkThemeEnabled ? Theme.primaryColor.withAlphaComponent(0.06).cgColor : Theme.primaryColor.withAlphaComponent(0.12).cgColor) diff --git a/SignalMessaging/categories/Theme.h b/SignalMessaging/categories/Theme.h index 14784b637..14b210134 100644 --- a/SignalMessaging/categories/Theme.h +++ b/SignalMessaging/categories/Theme.h @@ -6,7 +6,7 @@ NS_ASSUME_NONNULL_BEGIN -//#define THEME_ENABLED +#define THEME_ENABLED extern NSString *const ThemeDidChangeNotification; diff --git a/SignalMessaging/categories/Theme.m b/SignalMessaging/categories/Theme.m index b70942d80..a21e6ba2a 100644 --- a/SignalMessaging/categories/Theme.m +++ b/SignalMessaging/categories/Theme.m @@ -49,7 +49,7 @@ NSString *const ThemeKeyThemeEnabled = @"ThemeKeyThemeEnabled"; + (UIColor *)backgroundColor { - return (Theme.isDarkThemeEnabled ? UIColor.ows_blackColor : UIColor.ows_whiteColor); + return (Theme.isDarkThemeEnabled ? UIColor.ows_gray95Color : UIColor.ows_whiteColor); } + (UIColor *)offBackgroundColor @@ -60,12 +60,12 @@ NSString *const ThemeKeyThemeEnabled = @"ThemeKeyThemeEnabled"; + (UIColor *)primaryColor { - return (Theme.isDarkThemeEnabled ? UIColor.ows_dark05Color : UIColor.ows_light90Color); + return (Theme.isDarkThemeEnabled ? UIColor.ows_gray05Color : UIColor.ows_gray90Color); } + (UIColor *)secondaryColor { - return (Theme.isDarkThemeEnabled ? UIColor.ows_dark30Color : UIColor.ows_light60Color); + return (Theme.isDarkThemeEnabled ? UIColor.ows_gray25Color : UIColor.ows_gray60Color); } + (UIColor *)boldColor @@ -82,12 +82,12 @@ NSString *const ThemeKeyThemeEnabled = @"ThemeKeyThemeEnabled"; + (UIColor *)placeholderColor { - return (Theme.isDarkThemeEnabled ? UIColor.ows_dark55Color : UIColor.ows_light35Color); + return (Theme.isDarkThemeEnabled ? UIColor.ows_gray45Color : UIColor.ows_gray45Color); } + (UIColor *)hairlineColor { - return (Theme.isDarkThemeEnabled ? UIColor.ows_dark60Color : UIColor.ows_light45Color); + return (Theme.isDarkThemeEnabled ? UIColor.ows_gray75Color : UIColor.ows_gray25Color); } #pragma mark - Global App Colors @@ -100,7 +100,7 @@ NSString *const ThemeKeyThemeEnabled = @"ThemeKeyThemeEnabled"; + (UIColor *)navbarIconColor { // TODO: Theme, Review with design. - return (Theme.isDarkThemeEnabled ? UIColor.ows_dark60Color : UIColor.ows_light60Color); + return (Theme.isDarkThemeEnabled ? UIColor.ows_gray75Color : UIColor.ows_gray60Color); } + (UIColor *)navbarTitleColor @@ -125,7 +125,7 @@ NSString *const ThemeKeyThemeEnabled = @"ThemeKeyThemeEnabled"; + (UIColor *)conversationButtonBackgroundColor { - return (Theme.isDarkThemeEnabled ? [UIColor colorWithWhite:0.35f alpha:1.f] : UIColor.ows_light02Color); + return (Theme.isDarkThemeEnabled ? [UIColor colorWithWhite:0.35f alpha:1.f] : UIColor.ows_gray02Color); } + (UIBlurEffect *)barBlurEffect @@ -148,7 +148,7 @@ NSString *const ThemeKeyThemeEnabled = @"ThemeKeyThemeEnabled"; + (UIColor *)searchFieldBackgroundColor { - return Theme.isDarkThemeEnabled ? Theme.offBackgroundColor : UIColor.ows_light10Color; + return Theme.isDarkThemeEnabled ? Theme.offBackgroundColor : UIColor.ows_gray05Color; } #pragma mark - @@ -160,7 +160,7 @@ NSString *const ThemeKeyThemeEnabled = @"ThemeKeyThemeEnabled"; + (UIColor *)toastBackgroundColor { - return (Theme.isDarkThemeEnabled ? UIColor.ows_dark60Color : UIColor.ows_light60Color); + return (Theme.isDarkThemeEnabled ? UIColor.ows_gray75Color : UIColor.ows_gray60Color); } @end diff --git a/SignalMessaging/categories/UIColor+OWS.h b/SignalMessaging/categories/UIColor+OWS.h index 0be600dab..14398d98e 100644 --- a/SignalMessaging/categories/UIColor+OWS.h +++ b/SignalMessaging/categories/UIColor+OWS.h @@ -45,21 +45,23 @@ NS_ASSUME_NONNULL_BEGIN @property (class, readonly, nonatomic) UIColor *ows_signalBlueColor; @property (class, readonly, nonatomic) UIColor *ows_greenColor; @property (class, readonly, nonatomic) UIColor *ows_redColor; + +#pragma mark - GreyScale + @property (class, readonly, nonatomic) UIColor *ows_whiteColor; -@property (class, readonly, nonatomic) UIColor *ows_light02Color; -@property (class, readonly, nonatomic) UIColor *ows_light10Color; -@property (class, readonly, nonatomic) UIColor *ows_light35Color; -@property (class, readonly, nonatomic) UIColor *ows_light45Color; -@property (class, readonly, nonatomic) UIColor *ows_light60Color; -@property (class, readonly, nonatomic) UIColor *ows_light90Color; -@property (class, readonly, nonatomic) UIColor *ows_dark05Color; -@property (class, readonly, nonatomic) UIColor *ows_dark30Color; -@property (class, readonly, nonatomic) UIColor *ows_dark55Color; -@property (class, readonly, nonatomic) UIColor *ows_dark60Color; -@property (class, readonly, nonatomic) UIColor *ows_dark70Color; -@property (class, readonly, nonatomic) UIColor *ows_dark85Color; -@property (class, readonly, nonatomic) UIColor *ows_dark95Color; +@property (class, readonly, nonatomic) UIColor *ows_gray02Color; +@property (class, readonly, nonatomic) UIColor *ows_gray05Color; +@property (class, readonly, nonatomic) UIColor *ows_gray15Color; +@property (class, readonly, nonatomic) UIColor *ows_gray25Color; +@property (class, readonly, nonatomic) UIColor *ows_gray45Color; +@property (class, readonly, nonatomic) UIColor *ows_gray60Color; +@property (class, readonly, nonatomic) UIColor *ows_gray75Color; +@property (class, readonly, nonatomic) UIColor *ows_gray90Color; +@property (class, readonly, nonatomic) UIColor *ows_gray95Color; @property (class, readonly, nonatomic) UIColor *ows_blackColor; + +#pragma mark - Conversation Colors + @property (class, readonly, nonatomic) UIColor *ows_red700Color; @property (class, readonly, nonatomic) UIColor *ows_pink600Color; @property (class, readonly, nonatomic) UIColor *ows_purple600Color; diff --git a/SignalMessaging/categories/UIColor+OWS.m b/SignalMessaging/categories/UIColor+OWS.m index 5fcda92fd..bceacd9c3 100644 --- a/SignalMessaging/categories/UIColor+OWS.m +++ b/SignalMessaging/categories/UIColor+OWS.m @@ -2,8 +2,8 @@ // Copyright (c) 2018 Open Whisper Systems. All rights reserved. // -#import "OWSMath.h" #import "UIColor+OWS.h" +#import "OWSMath.h" #import NS_ASSUME_NONNULL_BEGIN @@ -142,72 +142,54 @@ NS_ASSUME_NONNULL_BEGIN return [UIColor colorWithRGBHex:0xf44336]; } +#pragma mark - GreyScale + + (UIColor *)ows_whiteColor { return [UIColor colorWithRGBHex:0xFFFFFF]; } -+ (UIColor *)ows_light02Color ++ (UIColor *)ows_gray02Color { - return [UIColor colorWithRGBHex:0xF9FAFA]; + return [UIColor colorWithRGBHex:0xF8F9F9]; } -+ (UIColor *)ows_light10Color ++ (UIColor *)ows_gray05Color { return [UIColor colorWithRGBHex:0xEEEFEF]; } -+ (UIColor *)ows_light35Color -{ - return [UIColor colorWithRGBHex:0xA4A6A9]; -} - -+ (UIColor *)ows_light45Color -{ - return [UIColor colorWithRGBHex:0x8B8E91]; -} - -+ (UIColor *)ows_light60Color -{ - return [UIColor colorWithRGBHex:0x62656A]; -} - -+ (UIColor *)ows_light90Color ++ (UIColor *)ows_gray15Color { - return [UIColor colorWithRGBHex:0x070C14]; + return [UIColor colorWithRGBHex:0xD5D6D6]; } -+ (UIColor *)ows_dark05Color ++ (UIColor *)ows_gray25Color { - return [UIColor colorWithRGBHex:0xEFEFEF]; + return [UIColor colorWithRGBHex:0xBBBDBE]; } -+ (UIColor *)ows_dark30Color ++ (UIColor *)ows_gray45Color { - return [UIColor colorWithRGBHex:0xA8A9AA]; + return [UIColor colorWithRGBHex:0x898A8C]; } -+ (UIColor *)ows_dark55Color ++ (UIColor *)ows_gray60Color { - return [UIColor colorWithRGBHex:0x88898C]; + return [UIColor colorWithRGBHex:0x636467]; } -+ (UIColor *)ows_dark60Color ++ (UIColor *)ows_gray75Color { - return [UIColor colorWithRGBHex:0x797A7C]; + return [UIColor colorWithRGBHex:0x3D3E44]; } -+ (UIColor *)ows_dark70Color ++ (UIColor *)ows_gray90Color { - return [UIColor colorWithRGBHex:0x414347]; + return [UIColor colorWithRGBHex:0x17191D]; } -+ (UIColor *)ows_dark85Color -{ - return [UIColor colorWithRGBHex:0x1A1C20]; -} - -+ (UIColor *)ows_dark95Color ++ (UIColor *)ows_gray95Color { return [UIColor colorWithRGBHex:0x0A0C11]; } @@ -217,6 +199,8 @@ NS_ASSUME_NONNULL_BEGIN return [UIColor colorWithRGBHex:0x000000]; } +#pragma mark - Conversation Colors + + (UIColor *)ows_red700Color { return [UIColor colorWithRGBHex:0xd32f2f]; diff --git a/SignalMessaging/utils/ConversationStyle.swift b/SignalMessaging/utils/ConversationStyle.swift index b5f213261..bfb9a308e 100644 --- a/SignalMessaging/utils/ConversationStyle.swift +++ b/SignalMessaging/utils/ConversationStyle.swift @@ -145,7 +145,7 @@ public class ConversationStyle: NSObject { @objc private static var defaultBubbleColorIncoming: UIColor { - return Theme.isDarkThemeEnabled ? UIColor.ows_dark70 : UIColor.ows_messageBubbleLightGray + return Theme.isDarkThemeEnabled ? UIColor.ows_gray75 : UIColor.ows_messageBubbleLightGray } @objc @@ -158,7 +158,7 @@ public class ConversationStyle: NSObject { public let bubbleColorOutgoingSent = UIColor.ows_darkSkyBlue @objc - public let dateBreakTextColor = UIColor.ows_light60 + public let dateBreakTextColor = UIColor.ows_gray60 @objc public var primaryColor: UIColor @@ -193,7 +193,7 @@ public class ConversationStyle: NSObject { @objc public static var bubbleTextColorIncoming: UIColor { - return Theme.isDarkThemeEnabled ? UIColor.ows_white : UIColor.ows_light90 + return Theme.isDarkThemeEnabled ? UIColor.ows_white : UIColor.ows_gray90 } @objc @@ -254,12 +254,12 @@ public class ConversationStyle: NSObject { @objc public func quotedReplyAuthorColor() -> UIColor { - return UIColor.ows_light90 + return UIColor.ows_gray90 } @objc public func quotedReplyTextColor() -> UIColor { - return UIColor.ows_light90 + return UIColor.ows_gray90 } @objc