Merge branch 'feature-purple-tint' into release-1.4.5
# Conflicts: # AppShared/Info.plist # Mastodon.xcodeproj/project.pbxproj # Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist # Mastodon/Info.plist # MastodonIntent/Info.plist # MastodonTests/Info.plist # MastodonUITests/Info.plist # NotificationService/Info.plist # ShareActionExtension/Info.plist
|
@ -15,8 +15,8 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.5</string>
|
||||
<string>1.4.4</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>143</string>
|
||||
<string>142</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -4850,7 +4850,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = Mastodon/Info.plist;
|
||||
|
@ -4880,7 +4880,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = Mastodon/Info.plist;
|
||||
|
@ -4988,11 +4988,11 @@
|
|||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 143;
|
||||
DYLIB_CURRENT_VERSION = 142;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
INFOPLIST_FILE = AppShared/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
|
@ -5019,11 +5019,11 @@
|
|||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 143;
|
||||
DYLIB_CURRENT_VERSION = 142;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
INFOPLIST_FILE = AppShared/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
|
@ -5114,7 +5114,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = Mastodon/Info.plist;
|
||||
|
@ -5182,11 +5182,11 @@
|
|||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 143;
|
||||
DYLIB_CURRENT_VERSION = 142;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
INFOPLIST_FILE = AppShared/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
|
@ -5211,7 +5211,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5234,7 +5234,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = ShareActionExtension/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5258,7 +5258,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = MastodonIntent/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5282,7 +5282,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = MastodonIntent/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5306,7 +5306,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = MastodonIntent/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5330,7 +5330,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = ShareActionExtension/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5354,7 +5354,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = ShareActionExtension/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5441,7 +5441,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = Mastodon/Info.plist;
|
||||
|
@ -5508,11 +5508,11 @@
|
|||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 143;
|
||||
DYLIB_CURRENT_VERSION = 142;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
INFOPLIST_FILE = AppShared/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
|
@ -5536,7 +5536,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5559,7 +5559,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = ShareActionExtension/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5583,7 +5583,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = MastodonIntent/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5607,7 +5607,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5630,7 +5630,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 143;
|
||||
CURRENT_PROJECT_VERSION = 142;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<key>isShown</key>
|
||||
<true/>
|
||||
<key>orderHint</key>
|
||||
<integer>8</integer>
|
||||
<integer>9</integer>
|
||||
</dict>
|
||||
<key>CoreDataStack.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
|
@ -19,7 +19,7 @@
|
|||
<key>Mastodon - Profile.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>1</integer>
|
||||
<integer>3</integer>
|
||||
</dict>
|
||||
<key>Mastodon - RTL.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
|
@ -29,17 +29,17 @@
|
|||
<key>Mastodon - Release.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>4</integer>
|
||||
<integer>5</integer>
|
||||
</dict>
|
||||
<key>Mastodon - Snapshot.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>6</integer>
|
||||
<integer>7</integer>
|
||||
</dict>
|
||||
<key>Mastodon - ar.xcscheme</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>7</integer>
|
||||
<integer>8</integer>
|
||||
</dict>
|
||||
<key>Mastodon - ar.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
|
@ -114,7 +114,7 @@
|
|||
<key>MastodonIntent.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>35</integer>
|
||||
<integer>29</integer>
|
||||
</dict>
|
||||
<key>MastodonIntents.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
|
@ -129,12 +129,12 @@
|
|||
<key>NotificationService.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>36</integer>
|
||||
<integer>31</integer>
|
||||
</dict>
|
||||
<key>ShareActionExtension.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>37</integer>
|
||||
<integer>30</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
|
|
|
@ -496,7 +496,7 @@ private extension SceneCoordinator {
|
|||
}
|
||||
let _viewController = SFSafariViewController(url: url)
|
||||
_viewController.preferredBarTintColor = ThemeService.shared.currentTheme.value.navigationBarBackgroundColor
|
||||
_viewController.preferredControlTintColor = Asset.Colors.brandBlue.color
|
||||
_viewController.preferredControlTintColor = Asset.Colors.brand.color
|
||||
viewController = _viewController
|
||||
|
||||
case .alertController(let alertController):
|
||||
|
|
|
@ -17,7 +17,7 @@ extension Mastodon.Entity.Notification.NotificationType {
|
|||
var color: UIColor
|
||||
switch self {
|
||||
case .follow:
|
||||
color = Asset.Colors.brandBlue.color
|
||||
color = Asset.Colors.brand.color
|
||||
case .favourite:
|
||||
color = Asset.Colors.Notification.favourite.color
|
||||
case .reblog:
|
||||
|
@ -25,9 +25,9 @@ extension Mastodon.Entity.Notification.NotificationType {
|
|||
case .mention:
|
||||
color = Asset.Colors.Notification.mention.color
|
||||
case .poll:
|
||||
color = Asset.Colors.brandBlue.color
|
||||
color = Asset.Colors.brand.color
|
||||
case .followRequest:
|
||||
color = Asset.Colors.brandBlue.color
|
||||
color = Asset.Colors.brand.color
|
||||
default:
|
||||
color = .clear
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ extension UITableView {
|
|||
let backgroundColor = cell.backgroundColor
|
||||
|
||||
UIView.animate(withDuration: 0.3) {
|
||||
cell.backgroundColor = Asset.Colors.brandBlue.color.withAlphaComponent(0.5)
|
||||
cell.backgroundColor = Asset.Colors.brand.color.withAlphaComponent(0.5)
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
|
||||
UIView.animate(withDuration: 0.3) {
|
||||
cell.backgroundColor = backgroundColor
|
||||
|
|
|
@ -2,6 +2,19 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSExceptionDomains</key>
|
||||
<dict>
|
||||
<key>onion</key>
|
||||
<dict>
|
||||
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||
<true/>
|
||||
<key>NSIncludesSubdomains</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||
<true/>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
|
@ -17,7 +30,7 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.5</string>
|
||||
<string>1.4.4</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
@ -30,7 +43,7 @@
|
|||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>143</string>
|
||||
<string>142</string>
|
||||
<key>ITSAppUsesNonExemptEncryption</key>
|
||||
<false/>
|
||||
<key>LSApplicationQueriesSchemes</key>
|
||||
|
@ -46,19 +59,6 @@
|
|||
</array>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSExceptionDomains</key>
|
||||
<dict>
|
||||
<key>onion</key>
|
||||
<dict>
|
||||
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||
<true/>
|
||||
<key>NSIncludesSubdomains</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>NSUserActivityTypes</key>
|
||||
<array>
|
||||
<string>SendPostIntent</string>
|
||||
|
|
After Width: | Height: | Size: 226 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 226 KiB |
|
@ -1,112 +1,190 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "icon_20pt@2x.png",
|
||||
"filename" : "AppIcon~iPhone-20@2x.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_20pt@3x.png",
|
||||
"filename" : "AppIcon~iPhone-20@3x.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_29pt@2x.png",
|
||||
"filename" : "AppIcon~iPhone-29@1x.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "1x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~iPhone-29@2x.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_29pt@3x.png",
|
||||
"filename" : "AppIcon~iPhone-29@3x.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_40pt@2x.png",
|
||||
"filename" : "AppIcon~iPhone-40@2x.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_40pt@3x.png",
|
||||
"filename" : "AppIcon~iPhone-40@3x.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_60pt@2x.png",
|
||||
"filename" : "AppIcon~iPhone-57@1x.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "1x",
|
||||
"size" : "57x57"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~iPhone-57@2x.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "57x57"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~iPhone-60@2x.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_60pt@3x.png",
|
||||
"filename" : "AppIcon~iPhone-60@3x.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_20pt.png",
|
||||
"filename" : "AppIcon~iPad-20@1x.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_20pt@2x-1.png",
|
||||
"filename" : "AppIcon~iPad-20@2x.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_29pt.png",
|
||||
"filename" : "AppIcon~iPad-29@1x.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_29pt@2x-1.png",
|
||||
"filename" : "AppIcon~iPad-29@2x.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_40pt.png",
|
||||
"filename" : "AppIcon~iPad-40@1x.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_40pt@2x-1.png",
|
||||
"filename" : "AppIcon~iPad-40@2x.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_76pt.png",
|
||||
"filename" : "AppIcon~iPad-76@1x.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_76pt@2x.png",
|
||||
"filename" : "AppIcon~iPad-76@2x.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"filename" : "icon_83.5@2x.png",
|
||||
"filename" : "AppIcon~iPad-83.5@2x.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "83.5x83.5"
|
||||
},
|
||||
{
|
||||
"filename" : "iTunesArtwork@2x.png",
|
||||
"filename" : "AppIcon~iOS-Marketing-1024@1x.png",
|
||||
"idiom" : "ios-marketing",
|
||||
"scale" : "1x",
|
||||
"size" : "1024x1024"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~macOS-16@1x.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "16x16"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~macOS-16@2x.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "16x16"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~macOS-32@1x.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "32x32"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~macOS-32@2x.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "32x32"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~macOS-128@1x.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "128x128"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~macOS-128@2x.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "128x128"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~macOS-256@1x.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "256x256"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~macOS-256@2x.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "256x256"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~macOS-512@1x.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "512x512"
|
||||
},
|
||||
{
|
||||
"filename" : "AppIcon~macOS-512@2x.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "512x512"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
|
|
Before Width: | Height: | Size: 798 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 33 KiB |
|
@ -25,7 +25,7 @@ final class ComposeStatusPollExpiresOptionCollectionViewCell: UICollectionViewCe
|
|||
button.titleLabel?.font = UIFontMetrics(forTextStyle: .body).scaledFont(for: .systemFont(ofSize: 12))
|
||||
button.expandEdgeInsets = UIEdgeInsets(top: 0, left: -10, bottom: -20, right: -20)
|
||||
button.setTitle(L10n.Scene.Compose.Poll.durationTime(L10n.Scene.Compose.Poll.thirtyMinutes), for: .normal)
|
||||
button.setTitleColor(Asset.Colors.brandBlue.color, for: .normal)
|
||||
button.setTitleColor(Asset.Colors.brand.color, for: .normal)
|
||||
return button
|
||||
}()
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ final class ComposeStatusPollOptionAppendEntryCollectionViewCell: UICollectionVi
|
|||
override var isHighlighted: Bool {
|
||||
didSet {
|
||||
pollOptionView.roundedBackgroundView.backgroundColor = isHighlighted ? ThemeService.shared.currentTheme.value.tertiarySystemGroupedBackgroundColor.withAlphaComponent(0.6) : ThemeService.shared.currentTheme.value.tertiarySystemGroupedBackgroundColor
|
||||
pollOptionView.plusCircleImageView.tintColor = isHighlighted ? Asset.Colors.brandBlue.color.withAlphaComponent(0.5) : Asset.Colors.brandBlue.color
|
||||
pollOptionView.plusCircleImageView.tintColor = isHighlighted ? Asset.Colors.brand.color.withAlphaComponent(0.5) : Asset.Colors.brand.color
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ final class ComposeStatusContentTableViewCell: UITableViewCell {
|
|||
]
|
||||
metaText.linkAttributes = [
|
||||
.font: UIFontMetrics(forTextStyle: .body).scaledFont(for: .systemFont(ofSize: 17, weight: .semibold)),
|
||||
.foregroundColor: Asset.Colors.brandBlue.color,
|
||||
.foregroundColor: Asset.Colors.brand.color,
|
||||
]
|
||||
return metaText
|
||||
}()
|
||||
|
|
|
@ -339,7 +339,7 @@ extension HomeTimelineViewController {
|
|||
let button = HighlightDimmableButton()
|
||||
button.titleLabel?.font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 15, weight: .semibold))
|
||||
button.setTitle(L10n.Common.Controls.Actions.manuallySearch, for: .normal)
|
||||
button.setTitleColor(Asset.Colors.brandBlue.color, for: .normal)
|
||||
button.setTitleColor(Asset.Colors.brand.color, for: .normal)
|
||||
button.addTarget(self, action: #selector(HomeTimelineViewController.manuallySearchButtonPressed(_:)), for: .touchUpInside)
|
||||
return button
|
||||
}()
|
||||
|
|
|
@ -114,7 +114,7 @@ extension HomeTimelineNavigationBarTitleView {
|
|||
configureButton(
|
||||
title: L10n.Scene.HomeTimeline.NavigationBarState.newPosts,
|
||||
textColor: .white,
|
||||
backgroundColor: Asset.Colors.brandBlue.color
|
||||
backgroundColor: Asset.Colors.brand.color
|
||||
)
|
||||
button.isHidden = false
|
||||
button.accessibilityLabel = L10n.Scene.HomeTimeline.NavigationBarState.newPosts
|
||||
|
|
|
@ -65,7 +65,7 @@ extension PickServerCategoryView {
|
|||
highlightedIndicatorView.translatesAutoresizingMaskIntoConstraints = false
|
||||
container.addArrangedSubview(highlightedIndicatorView)
|
||||
NSLayoutConstraint.activate([
|
||||
highlightedIndicatorView.heightAnchor.constraint(equalToConstant: UIView.separatorLineHeight(of: self) * 3).priority(.required - 1),
|
||||
highlightedIndicatorView.heightAnchor.constraint(equalToConstant: 3).priority(.required - 1),
|
||||
])
|
||||
titleLabel.setContentHuggingPriority(.required - 1, for: .vertical)
|
||||
}
|
||||
|
|
|
@ -211,7 +211,7 @@ final class ProfileHeaderView: UIView {
|
|||
]
|
||||
metaText.linkAttributes = [
|
||||
.font: UIFont.preferredFont(forTextStyle: .body),
|
||||
.foregroundColor: Asset.Colors.brandBlue.color,
|
||||
.foregroundColor: Asset.Colors.brand.color,
|
||||
]
|
||||
return metaText
|
||||
}()
|
||||
|
|
|
@ -34,7 +34,7 @@ extension SidebarAddAccountCollectionViewCell {
|
|||
|
||||
// Customize the background color to use the tint color when the cell is highlighted or selected.
|
||||
if state.isSelected || state.isHighlighted {
|
||||
newBackgroundConfiguration.backgroundColor = Asset.Colors.brandBlue.color
|
||||
newBackgroundConfiguration.backgroundColor = Asset.Colors.brand.color
|
||||
}
|
||||
if state.isHighlighted {
|
||||
newBackgroundConfiguration.backgroundColorTransformer = .init { $0.withAlphaComponent(0.8) }
|
||||
|
|
|
@ -31,7 +31,7 @@ class SearchRecommendCollectionHeader: UIView {
|
|||
|
||||
let seeAllButton: HighlightDimmableButton = {
|
||||
let button = HighlightDimmableButton(type: .custom)
|
||||
button.setTitleColor(Asset.Colors.brandBlue.color, for: .normal)
|
||||
button.setTitleColor(Asset.Colors.brand.color, for: .normal)
|
||||
button.setTitle(L10n.Scene.Search.Recommend.buttonText, for: .normal)
|
||||
button.titleLabel?.adjustsFontSizeToFitWidth = true
|
||||
button.titleLabel?.minimumScaleFactor = 0.8
|
||||
|
|
|
@ -306,7 +306,7 @@ extension SearchDetailViewController {
|
|||
|
||||
private func setupBackgroundColor(theme: Theme) {
|
||||
navigationBarBackgroundView.backgroundColor = theme.navigationBarBackgroundColor
|
||||
navigationBar.tintColor = Asset.Colors.brandBlue.color
|
||||
navigationBar.tintColor = Asset.Colors.brand.color
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ final class SearchHistoryTableHeaderView: UIView {
|
|||
let clearSearchHistoryButton: HighlightDimmableButton = {
|
||||
let button = HighlightDimmableButton(type: .custom)
|
||||
button.expandEdgeInsets = UIEdgeInsets(top: -10, left: -10, bottom: -10, right: -10)
|
||||
button.setTitleColor(Asset.Colors.brandBlue.color, for: .normal)
|
||||
button.setTitleColor(Asset.Colors.brand.color, for: .normal)
|
||||
button.setTitle(L10n.Scene.Search.Searching.clear, for: .normal)
|
||||
return button
|
||||
}()
|
||||
|
|
|
@ -15,7 +15,7 @@ class NavigationBarProgressView: UIView {
|
|||
|
||||
let sliderView: UIView = {
|
||||
let view = UIView()
|
||||
view.backgroundColor = Asset.Colors.brandBlue.color
|
||||
view.backgroundColor = Asset.Colors.brand.color
|
||||
view.translatesAutoresizingMaskIntoConstraints = false
|
||||
return view
|
||||
}()
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.5</string>
|
||||
<string>1.4.4</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>143</string>
|
||||
<string>142</string>
|
||||
<key>NSExtension</key>
|
||||
<dict>
|
||||
<key>NSExtensionAttributes</key>
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "55",
|
||||
"green" : "44",
|
||||
"red" : "40"
|
||||
"blue" : "0x38",
|
||||
"green" : "0x29",
|
||||
"red" : "0x2B"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
|
|
|
@ -23,9 +23,9 @@
|
|||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0.216",
|
||||
"green" : "0.173",
|
||||
"red" : "0.157"
|
||||
"blue" : "0x38",
|
||||
"green" : "0x29",
|
||||
"red" : "0x2B"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "133",
|
||||
"green" : "112",
|
||||
"red" : "102"
|
||||
"blue" : "0x85",
|
||||
"green" : "0x66",
|
||||
"red" : "0x69"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xFF",
|
||||
"green" : "0xC2",
|
||||
"red" : "0xC2"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "1.000",
|
||||
"green" : "0.761",
|
||||
"red" : "0.761"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0.733",
|
||||
"green" : "0.110",
|
||||
"red" : "0.263"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0.733",
|
||||
"green" : "0.110",
|
||||
"red" : "0.263"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"provides-namespace" : true
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xBB",
|
||||
"green" : "0x1C",
|
||||
"red" : "0x43"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xFF",
|
||||
"green" : "0x99",
|
||||
"red" : "0x99"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"provides-namespace" : true
|
||||
}
|
||||
}
|
|
@ -63,6 +63,10 @@ public enum Asset {
|
|||
public enum Poll {
|
||||
public static let disabled = ColorAsset(name: "Colors/Poll/disabled")
|
||||
}
|
||||
public enum Primary {
|
||||
public static let _300 = ColorAsset(name: "Colors/Primary/300")
|
||||
public static let _700 = ColorAsset(name: "Colors/Primary/700")
|
||||
}
|
||||
public enum Shadow {
|
||||
public static let searchCard = ColorAsset(name: "Colors/Shadow/SearchCard")
|
||||
}
|
||||
|
@ -77,10 +81,13 @@ public enum Asset {
|
|||
public static let alertYellow = ColorAsset(name: "Colors/alert.yellow")
|
||||
public static let badgeBackground = ColorAsset(name: "Colors/badge.background")
|
||||
public static let battleshipGrey = ColorAsset(name: "Colors/battleshipGrey")
|
||||
public static let brandBlue = ColorAsset(name: "Colors/brand.blue")
|
||||
public static let brandBlueDarken20 = ColorAsset(name: "Colors/brand.blue.darken.20")
|
||||
public static let brand = ColorAsset(name: "Colors/brand")
|
||||
public static let dangerBorder = ColorAsset(name: "Colors/danger.border")
|
||||
public static let danger = ColorAsset(name: "Colors/danger")
|
||||
public enum Deprecated {
|
||||
public static let brandBlue = ColorAsset(name: "Colors/deprecated/brand.blue")
|
||||
public static let brandBlueDarken20 = ColorAsset(name: "Colors/deprecated/brand.blue.darken.20")
|
||||
}
|
||||
public static let disabled = ColorAsset(name: "Colors/disabled")
|
||||
public static let inactive = ColorAsset(name: "Colors/inactive")
|
||||
public static let mediaTypeIndicotor = ColorAsset(name: "Colors/media.type.indicotor")
|
||||
|
|
|
@ -118,7 +118,7 @@ extension MetaLabel {
|
|||
|
||||
case .autoCompletion:
|
||||
font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 17, weight: .semibold), maximumPointSize: 22)
|
||||
textColor = Asset.Colors.brandBlue.color
|
||||
textColor = Asset.Colors.brand.color
|
||||
|
||||
case .accountListName:
|
||||
font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 17, weight: .regular), maximumPointSize: 22)
|
||||
|
@ -146,7 +146,7 @@ extension MetaLabel {
|
|||
]
|
||||
linkAttributes = [
|
||||
.font: font,
|
||||
.foregroundColor: Asset.Colors.brandBlue.color
|
||||
.foregroundColor: Asset.Colors.brand.color
|
||||
]
|
||||
}
|
||||
|
||||
|
|
|
@ -26,6 +26,8 @@ extension PollOptionView {
|
|||
var disposeBag = Set<AnyCancellable>()
|
||||
var observations = Set<NSKeyValueObservation>()
|
||||
public var objects = Set<NSManagedObject>()
|
||||
|
||||
let layoutDidUpdate = PassthroughSubject<Void, Never>()
|
||||
|
||||
@Published public var userIdentifier: UserIdentifier?
|
||||
|
||||
|
@ -47,8 +49,8 @@ extension PollOptionView {
|
|||
@Published public var voteState: VoteState = .hidden
|
||||
|
||||
@Published public var roundedBackgroundViewColor: UIColor = .clear
|
||||
@Published public var primaryStripProgressViewTintColor: UIColor = Asset.Colors.brandBlue.color
|
||||
@Published public var secondaryStripProgressViewTintColor: UIColor = Asset.Colors.brandBlue.color.withAlphaComponent(0.5)
|
||||
@Published public var primaryStripProgressViewTintColor: UIColor = Asset.Colors.brand.color.withAlphaComponent(0.8)
|
||||
@Published public var secondaryStripProgressViewTintColor: UIColor = Asset.Colors.brand.color.withAlphaComponent(0.5)
|
||||
|
||||
@Published public var groupedAccessibilityLabel = ""
|
||||
|
||||
|
@ -180,6 +182,39 @@ extension PollOptionView.ViewModel {
|
|||
}
|
||||
.store(in: &disposeBag)
|
||||
|
||||
Publishers.CombineLatest(
|
||||
$voteState,
|
||||
layoutDidUpdate
|
||||
)
|
||||
.sink { voteState, _ in
|
||||
guard case .plain = view.style else { return }
|
||||
|
||||
view.layoutIfNeeded()
|
||||
|
||||
switch voteState {
|
||||
case .hidden:
|
||||
view.optionTextField.textColor = Asset.Colors.Label.primary.color
|
||||
view.optionTextField.layer.removeShadow()
|
||||
case .reveal(_, let percentage, _):
|
||||
if CGFloat(percentage) * view.roundedBackgroundView.frame.width > view.optionLabelMiddlePaddingView.frame.minX {
|
||||
view.optionTextField.textColor = .white
|
||||
view.optionTextField.layer.setupShadow(x: 0, y: 0, blur: 4, spread: 0)
|
||||
} else {
|
||||
view.optionTextField.textColor = Asset.Colors.Label.primary.color
|
||||
view.optionTextField.layer.removeShadow()
|
||||
}
|
||||
|
||||
if CGFloat(percentage) * view.roundedBackgroundView.frame.width > view.optionLabelMiddlePaddingView.frame.maxX {
|
||||
view.optionPercentageLabel.textColor = .white
|
||||
view.optionPercentageLabel.layer.setupShadow(x: 0, y: 0, blur: 4, spread: 0)
|
||||
} else {
|
||||
view.optionPercentageLabel.textColor = Asset.Colors.Label.primary.color
|
||||
view.optionPercentageLabel.layer.removeShadow()
|
||||
}
|
||||
}
|
||||
}
|
||||
.store(in: &disposeBag)
|
||||
|
||||
bindAccessibility(view: view)
|
||||
}
|
||||
|
||||
|
@ -196,4 +231,3 @@ extension PollOptionView.ViewModel {
|
|||
.store(in: &disposeBag)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class PollOptionView: UIView {
|
|||
public let roundedBackgroundView = UIView()
|
||||
public let voteProgressStripView: StripProgressView = {
|
||||
let view = StripProgressView()
|
||||
view.tintColor = Asset.Colors.brandBlue.color
|
||||
view.tintColor = Asset.Colors.brand.color
|
||||
return view
|
||||
}()
|
||||
|
||||
|
@ -45,7 +45,7 @@ public final class PollOptionView: UIView {
|
|||
let imageView = UIImageView()
|
||||
let image = UIImage(systemName: "checkmark", withConfiguration: UIImage.SymbolConfiguration(pointSize: 14, weight: .bold))!
|
||||
imageView.image = image.withRenderingMode(.alwaysTemplate)
|
||||
imageView.tintColor = Asset.Colors.brandBlue.color
|
||||
imageView.tintColor = Asset.Colors.brand.color
|
||||
return imageView
|
||||
}()
|
||||
|
||||
|
@ -53,7 +53,7 @@ public final class PollOptionView: UIView {
|
|||
let imageView = UIImageView()
|
||||
let image = Asset.Circles.plusCircle.image
|
||||
imageView.image = image.withRenderingMode(.alwaysTemplate)
|
||||
imageView.tintColor = Asset.Colors.brandBlue.color
|
||||
imageView.tintColor = Asset.Colors.brand.color
|
||||
return imageView
|
||||
}()
|
||||
|
||||
|
@ -203,44 +203,13 @@ extension PollOptionView {
|
|||
super.layoutSubviews()
|
||||
|
||||
updateCornerRadius()
|
||||
viewModel.layoutDidUpdate.send()
|
||||
}
|
||||
|
||||
public override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
|
||||
super.traitCollectionDidChange(previousTraitCollection)
|
||||
|
||||
if traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) {
|
||||
|
||||
// func updateTextAppearance() {
|
||||
// // guard let voteState = attribute?.voteState else {
|
||||
// // pollOptionView.optionTextField.textColor = Asset.Colors.Label.primary.color
|
||||
// // pollOptionView.optionTextField.layer.removeShadow()
|
||||
// // return
|
||||
// // }
|
||||
// //
|
||||
// // switch voteState {
|
||||
// // case .hidden:
|
||||
// // pollOptionView.optionTextField.textColor = Asset.Colors.Label.primary.color
|
||||
// // pollOptionView.optionTextField.layer.removeShadow()
|
||||
// // case .reveal(_, let percentage, _):
|
||||
// // if CGFloat(percentage) * pollOptionView.voteProgressStripView.frame.width > pollOptionView.optionLabelMiddlePaddingView.frame.minX {
|
||||
// // pollOptionView.optionTextField.textColor = .white
|
||||
// // pollOptionView.optionTextField.layer.setupShadow(x: 0, y: 0, blur: 4, spread: 0)
|
||||
// // } else {
|
||||
// // pollOptionView.optionTextField.textColor = Asset.Colors.Label.primary.color
|
||||
// // pollOptionView.optionTextField.layer.removeShadow()
|
||||
// // }
|
||||
// //
|
||||
// // if CGFloat(percentage) * pollOptionView.voteProgressStripView.frame.width > pollOptionView.optionLabelMiddlePaddingView.frame.maxX {
|
||||
// // pollOptionView.optionPercentageLabel.textColor = .white
|
||||
// // pollOptionView.optionPercentageLabel.layer.setupShadow(x: 0, y: 0, blur: 4, spread: 0)
|
||||
// // } else {
|
||||
// // pollOptionView.optionPercentageLabel.textColor = Asset.Colors.Label.primary.color
|
||||
// // pollOptionView.optionPercentageLabel.layer.removeShadow()
|
||||
// // }
|
||||
// // }
|
||||
// }
|
||||
|
||||
}
|
||||
viewModel.layoutDidUpdate.send()
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -78,7 +78,7 @@ public final class ProfileCardView: UIView {
|
|||
]
|
||||
metaText.linkAttributes = [
|
||||
.font: UIFont.preferredFont(forTextStyle: .body),
|
||||
.foregroundColor: Asset.Colors.brandBlue.color,
|
||||
.foregroundColor: Asset.Colors.brand.color,
|
||||
]
|
||||
return metaText
|
||||
}()
|
||||
|
|
|
@ -147,8 +147,8 @@ public final class StatusView: UIView {
|
|||
.foregroundColor: Asset.Colors.Label.primary.color,
|
||||
]
|
||||
metaText.linkAttributes = [
|
||||
.font: UIFontMetrics(forTextStyle: .body).scaledFont(for: .systemFont(ofSize: 17, weight: .semibold)),
|
||||
.foregroundColor: Asset.Colors.brandBlue.color,
|
||||
.font: UIFontMetrics(forTextStyle: .body).scaledFont(for: .systemFont(ofSize: 17, weight: .regular)),
|
||||
.foregroundColor: Asset.Colors.brand.color,
|
||||
]
|
||||
return metaText
|
||||
}()
|
||||
|
@ -203,8 +203,8 @@ public final class StatusView: UIView {
|
|||
let button = HitTestExpandedButton()
|
||||
button.titleLabel?.font = UIFontMetrics(forTextStyle: .body).scaledFont(for: .systemFont(ofSize: 14, weight: .semibold))
|
||||
button.setTitle(L10n.Common.Controls.Status.Poll.vote, for: .normal)
|
||||
button.setTitleColor(Asset.Colors.brandBlue.color, for: .normal)
|
||||
button.setTitleColor(Asset.Colors.brandBlue.color.withAlphaComponent(0.8), for: .highlighted)
|
||||
button.setTitleColor(Asset.Colors.brand.color, for: .normal)
|
||||
button.setTitleColor(Asset.Colors.brand.color.withAlphaComponent(0.8), for: .highlighted)
|
||||
button.setTitleColor(Asset.Colors.Button.disabled.color, for: .disabled)
|
||||
button.isEnabled = false
|
||||
return button
|
||||
|
|
|
@ -40,8 +40,8 @@ extension LineChartView {
|
|||
layer.addSublayer(gradientLayer)
|
||||
|
||||
gradientLayer.colors = [
|
||||
Asset.Colors.brandBlue.color.withAlphaComponent(0.5).cgColor, // set the same alpha to fill
|
||||
Asset.Colors.brandBlue.color.withAlphaComponent(0.5).cgColor,
|
||||
Asset.Colors.Primary._300.color.withAlphaComponent(0.5).cgColor, // set the same alpha to fill
|
||||
Asset.Colors.Primary._300.color.withAlphaComponent(0.5).cgColor,
|
||||
]
|
||||
gradientLayer.startPoint = CGPoint(x: 0.5, y: 0)
|
||||
gradientLayer.endPoint = CGPoint(x: 0.5, y: 1)
|
||||
|
@ -91,7 +91,7 @@ extension LineChartView {
|
|||
}
|
||||
|
||||
lineShapeLayer.lineWidth = 1
|
||||
lineShapeLayer.strokeColor = Asset.Colors.brandBlue.color.cgColor
|
||||
lineShapeLayer.strokeColor = Asset.Colors.Primary._700.color.cgColor
|
||||
lineShapeLayer.fillColor = UIColor.clear.cgColor
|
||||
lineShapeLayer.lineJoin = .round
|
||||
lineShapeLayer.lineCap = .round
|
||||
|
@ -103,7 +103,7 @@ extension LineChartView {
|
|||
maskPath.close()
|
||||
let maskLayer = CAShapeLayer()
|
||||
maskLayer.path = maskPath.cgPath
|
||||
maskLayer.fillColor = Asset.Colors.brandBlue.color.cgColor
|
||||
maskLayer.fillColor = Asset.Colors.brand.color.cgColor
|
||||
maskLayer.strokeColor = UIColor.clear.cgColor
|
||||
maskLayer.lineWidth = 0.0
|
||||
gradientLayer.mask = maskLayer
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.5</string>
|
||||
<string>1.4.4</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>143</string>
|
||||
<string>142</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.5</string>
|
||||
<string>1.4.4</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>143</string>
|
||||
<string>142</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.5</string>
|
||||
<string>1.4.4</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>143</string>
|
||||
<string>142</string>
|
||||
<key>NSExtension</key>
|
||||
<dict>
|
||||
<key>NSExtensionPointIdentifier</key>
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.5</string>
|
||||
<string>1.4.4</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>143</string>
|
||||
<string>142</string>
|
||||
<key>NSExtension</key>
|
||||
<dict>
|
||||
<key>NSExtensionAttributes</key>
|
||||
|
|
|
@ -25,8 +25,8 @@ class ShareViewController: UIViewController {
|
|||
let button = RoundedEdgesButton(type: .custom)
|
||||
button.setTitle(L10n.Scene.Compose.composeAction, for: .normal)
|
||||
button.titleLabel?.font = .systemFont(ofSize: 14, weight: .bold)
|
||||
button.setBackgroundImage(.placeholder(color: Asset.Colors.brandBlue.color), for: .normal)
|
||||
button.setBackgroundImage(.placeholder(color: Asset.Colors.brandBlue.color.withAlphaComponent(0.5)), for: .highlighted)
|
||||
button.setBackgroundImage(.placeholder(color: Asset.Colors.brand.color), for: .normal)
|
||||
button.setBackgroundImage(.placeholder(color: Asset.Colors.brand.color.withAlphaComponent(0.5)), for: .highlighted)
|
||||
button.setBackgroundImage(.placeholder(color: Asset.Colors.Button.disabled.color), for: .disabled)
|
||||
button.setTitleColor(.white, for: .normal)
|
||||
button.contentEdgeInsets = UIEdgeInsets(top: 6, left: 16, bottom: 5, right: 16) // set 28pt height
|
||||
|
|