@@ -21,7 +21,8 @@ final class AccountHeaderView: UIView {
2121 @IBOutlet weak var addressButton : UIButton !
2222 @IBOutlet weak var walletViewContainer : UIView !
2323 @IBOutlet weak var secretWalletsImageView : UIImageView !
24- private var outlineLayer : CAShapeLayer ?
24+
25+ private var circularBackgroundView : UIView ?
2526
2627 weak var delegate : AccountHeaderViewDelegate ?
2728
@@ -34,6 +35,20 @@ final class AccountHeaderView: UIView {
3435 setupGestureRecognizers ( )
3536 }
3637
38+ override func layoutSubviews( ) {
39+ super. layoutSubviews ( )
40+ guard let bgView = circularBackgroundView else { return }
41+
42+ let iconFrame = secretWalletsImageView. frame
43+ let bgWidth = iconFrame. width * 2
44+ let bgHeight = iconFrame. height * 2
45+ bgView. frame = CGRect ( x: iconFrame. midX - bgWidth / 2 ,
46+ y: iconFrame. midY - bgHeight / 2 ,
47+ width: bgWidth,
48+ height: bgHeight)
49+ bgView. layer. cornerRadius = bgWidth / 2
50+ }
51+
3752 func setWalletIcon( _ icon: WalletIcon , badgeCount: Int ) {
3853 secretWalletsImageView. tintColor = . adamant. secondary
3954 secretWalletsImageView. image = . asset( named: icon. rawValue) ? . withRenderingMode ( . alwaysTemplate) ?? . init( )
@@ -48,19 +63,6 @@ final class AccountHeaderView: UIView {
4863 animateOutline ( )
4964 delegate? . walletsButtonTapped ( from: secretWalletsImageView)
5065 }
51-
52- override func layoutSubviews( ) {
53- super. layoutSubviews ( )
54-
55- guard let outlineLayer = outlineLayer else { return }
56- guard !secretWalletsImageView. frame. isEmpty else { return }
57-
58- let imageView = secretWalletsImageView!
59- let center = imageView. center
60- let radius = imageView. bounds. width
61- let path = UIBezierPath ( arcCenter: center, radius: radius, startAngle: 0 , endAngle: . pi * 2 , clockwise: true )
62- outlineLayer. path = path. cgPath
63- }
6466}
6567
6668private extension AccountHeaderView {
@@ -79,16 +81,24 @@ private extension AccountHeaderView {
7981 }
8082
8183 private func addPersistentOutline( ) {
84+ let bgView = UIView ( )
85+ bgView. backgroundColor = UIColor { traitCollection in
86+ return traitCollection. userInterfaceStyle == . dark
87+ ? . adamant. secondary
88+ : UIColor . black
89+ }
8290
91+ secretWalletsImageView. superview? . insertSubview ( bgView, belowSubview: secretWalletsImageView)
92+ self . circularBackgroundView = bgView
8393 }
8494
8595 private func animateOutline( ) {
8696
8797 }
8898}
8999
90- extension AccountHeaderView {
91- enum WalletIcon : String {
100+ extension AccountHeaderView {
101+ enum WalletIcon : String {
92102 case regular = " secret_wallets_regular "
93103 case secret = " secret_wallets_active "
94104
0 commit comments