From ed8bf5af9e80e570fa6383bc9e88c2f154ac17df Mon Sep 17 00:00:00 2001 From: True Zhuanjia Date: Thu, 12 Mar 2026 16:45:50 +0800 Subject: [PATCH] deal with separator color --- VoidLink/HostCardView.m | 2 +- VoidLink/ThemeManager.swift | 55 +++++++++++++++++++++++++++++-------- 2 files changed, 44 insertions(+), 13 deletions(-) diff --git a/VoidLink/HostCardView.m b/VoidLink/HostCardView.m index 39dfcd4a..85235946 100644 --- a/VoidLink/HostCardView.m +++ b/VoidLink/HostCardView.m @@ -475,7 +475,7 @@ static const float REFRESH_CYCLE = 2.0f; self.backgroundColor = ThemeManager.widgetBackgroundColor; _hostNameLabel.textColor = ThemeManager.textColor; [_appButton setTitleColor:ThemeManager.appPrimaryColor forState:UIControlStateNormal]; - _separatorLine.backgroundColor = ThemeManager.separatorColor; + _separatorLine.backgroundColor = ThemeManager.hostCardSeparatorColor; backgroundLayer.hidden = NO; [self updateBackgroundLayerTheme]; diff --git a/VoidLink/ThemeManager.swift b/VoidLink/ThemeManager.swift index 442e3f67..f4479d0b 100644 --- a/VoidLink/ThemeManager.swift +++ b/VoidLink/ThemeManager.swift @@ -144,7 +144,49 @@ class ThemeManager: NSObject { @objc static var separatorColor: UIColor { _ = setPublicUIStyle() - + switch userInterfaceStyle() { + case .light: + if #available(iOS 13.0, *) { + let lightTraits = UITraitCollection(userInterfaceStyle: .light) + return GenericUtils.liquidGlassEnabled ? legacySepratorColor : UIColor.separator.resolvedColor(with: lightTraits) + } else { + return UIColor( + red: 214.0/255.0, + green: 214.0/255.0, + blue: 218.0/255.0, + alpha: 1 + ) + } + default: + if #available(iOS 13.0, *) { + let darkTraits = UITraitCollection(userInterfaceStyle: .dark) + return GenericUtils.liquidGlassEnabled ? legacySepratorColor : UIColor.separator.resolvedColor(with: darkTraits) + } else {return UIColor(white: 0.28, alpha: 1)} + } + } + + @objc static var legacySepratorColor: UIColor { + _ = setPublicUIStyle() + switch userInterfaceStyle() { + case .light: + return UIColor( + red: 0.23529411764705882, + green: 0.23529411764705882, + blue: 0.2627450980392157, + alpha: 0.29 + ) + default: + return UIColor( + red: 0.32941176470588235, + green: 0.32941176470588235, + blue: 0.34509803921568627, + alpha: 0.6 + ) + } + } + + @objc static var hostCardSeparatorColor: UIColor { + _ = setPublicUIStyle() switch userInterfaceStyle() { case .light: if #available(iOS 13.0, *) { @@ -166,17 +208,6 @@ class ThemeManager: NSObject { } } - @objc static var hostCardSeparatorColor: UIColor { - _ = setPublicUIStyle() - - switch userInterfaceStyle() { - case .light: - return UIColor(white: 0.1, alpha: 0.28) - default: - return UIColor(white: 0.28, alpha: 1) - } - } - @objc static var textColor: UIColor { _ = setPublicUIStyle()