Skip to content

Commit ced5c64

Browse files
authored
[Woo POS][Design System] Update reader software update image colors (#15211)
2 parents 1d65d6a + a1459b0 commit ced5c64

File tree

4 files changed

+34
-7
lines changed

4 files changed

+34
-7
lines changed

WooCommerce/Classes/POS/Presentation/Card Present Payments/Connection Alerts/PointOfSaleCardPresentPaymentOptionalReaderUpdateInProgressAlertViewModel.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ struct PointOfSaleCardPresentPaymentOptionalReaderUpdateInProgressAlertViewModel
1414
let id = UUID()
1515

1616
init(progress: Float, cancel: (() -> Void)?) {
17-
self.image = Image(uiImage: .softwareUpdateProgress(progress: CGFloat(progress)))
17+
self.image = Image(uiImage: .posSoftwareUpdateProgress(progress: CGFloat(progress)))
1818
self.progress = progress
1919
self.progressTitle = String(format: Localization.percentCompleteFormat, 100 * progress)
2020

WooCommerce/Classes/POS/Presentation/Card Present Payments/Connection Alerts/PointOfSaleCardPresentPaymentReaderUpdateCompletionAlertViewModel.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import SwiftUI
33

44
struct PointOfSaleCardPresentPaymentReaderUpdateCompletionAlertViewModel {
55
let title: String = Localization.title
6-
let image: Image = .init(uiImage: .softwareUpdateProgress(progress: CGFloat(1.0)))
6+
let image: Image = .init(uiImage: .posSoftwareUpdateProgress(progress: CGFloat(1.0)))
77
let progressTitle: String = .init(format: Localization.percentCompleteFormat, 100.0)
88
}
99

WooCommerce/Classes/POS/Presentation/Card Present Payments/Connection Alerts/PointOfSaleCardPresentPaymentRequiredReaderUpdateInProgressAlertViewModel.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ struct PointOfSaleCardPresentPaymentRequiredReaderUpdateInProgressAlertViewModel
1414
let id = UUID()
1515

1616
init(progress: Float, cancel: (() -> Void)?) {
17-
self.image = Image(uiImage: .softwareUpdateProgress(progress: CGFloat(progress)))
17+
self.image = Image(uiImage: .posSoftwareUpdateProgress(progress: CGFloat(progress)))
1818
self.progress = progress
1919
self.progressTitle = String(format: Localization.percentCompleteFormat, 100 * progress)
2020

WooCommerce/Classes/ViewRelated/ReusableViews/UpdateProgressImage.swift

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ extension UIImage {
2020
return result
2121
}
2222

23-
private static func softwareUpdateProgressFill(progress: CGFloat) -> UIImage? {
23+
private static func softwareUpdateProgressFill(
24+
progress: CGFloat, fillColor: UIColor = Constants.progressColor
25+
) -> UIImage? {
2426
assert(progress >= 0 && progress <= 1)
2527
let progress = progress.clamped(to: 0...1)
2628

@@ -32,7 +34,7 @@ extension UIImage {
3234
guard let context = UIGraphicsGetCurrentContext() else {
3335
return nil
3436
}
35-
context.setFillColor(Constants.progressColor.cgColor)
37+
context.setFillColor(fillColor.cgColor)
3638
context.clip(to: clippingRect)
3739
context.addEllipse(in: rect.insetBy(dx: Constants.borderWidth, dy: Constants.borderWidth))
3840
context.drawPath(using: .fill)
@@ -49,6 +51,20 @@ extension UIImage {
4951
symbol
5052
].compactMap { $0 }) ?? .init()
5153
}
54+
55+
static func posSoftwareUpdateProgress(progress: CGFloat) -> UIImage {
56+
let symbol: UIImage =
57+
progress == 1 ? .cardReaderUpdateProgressCheckmark : .cardReaderUpdateProgressArrow
58+
let backgroundImage = UIImage.cardReaderUpdateProgressBackground
59+
.withRenderingMode(.alwaysTemplate)
60+
.withTintColor(UIColor(.posSecondary))
61+
return .composite(
62+
images: [
63+
backgroundImage,
64+
.softwareUpdateProgressFill(progress: progress, fillColor: UIColor(.posPrimary)),
65+
symbol.withTintColor(UIColor(.posOnPrimary)),
66+
].compactMap { $0 }) ?? .init()
67+
}
5268
}
5369

5470
private enum Constants {
@@ -63,13 +79,24 @@ struct UpdateProgressImage_Previews: PreviewProvider {
6379

6480
var body: some View {
6581
VStack {
66-
Image(uiImage: UIImage.softwareUpdateProgress(progress: complete))
82+
VStack {
83+
Text("Default Style")
84+
.font(.headline)
85+
Image(uiImage: UIImage.softwareUpdateProgress(progress: complete))
86+
}
87+
88+
VStack {
89+
Text("POS Style")
90+
.font(.headline)
91+
Image(uiImage: UIImage.posSoftwareUpdateProgress(progress: complete))
92+
}
93+
6794
Slider(value: $complete, in: 0...1)
6895
}
96+
.padding()
6997
}
7098
}
7199
static var previews: some View {
72100
UpdateProgressImage()
73-
.padding()
74101
}
75102
}

0 commit comments

Comments
 (0)