Skip to content

Commit 64c7f5a

Browse files
committed
Apply booking currency for Payments section
1 parent e1f8218 commit 64c7f5a

File tree

3 files changed

+9
-21
lines changed

3 files changed

+9
-21
lines changed

WooCommerce/Classes/ViewModels/Booking Details/AppointmentDetailsContent.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ extension BookingDetailsViewModel {
3535
),
3636
Row(
3737
title: Localization.appointmentDetailsPriceTitle,
38-
value: Self.formatPrice(for: booking)
38+
value: BookingDetailsViewModel.formatPrice(for: booking, priceString: booking.cost)
3939
)
4040
]
4141
}

WooCommerce/Classes/ViewModels/Booking Details/BookingDetailsViewModel+PriceFormatting.swift

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@ import class WooFoundationCore.CurrencyFormatter
44
import class WooFoundationCore.CurrencySettings
55
import enum WooFoundationCore.CurrencyCode
66

7-
extension BookingDetailsViewModel.AppointmentDetailsContent {
8-
static func formatPrice(for booking: Booking) -> String {
9-
let cost = booking.cost
10-
guard let decimalPrice = Decimal(string: cost) else {
11-
return cost
7+
extension BookingDetailsViewModel {
8+
static func formatPrice(for booking: Booking, priceString: String) -> String {
9+
guard let decimalPrice = Decimal(string: priceString) else {
10+
return priceString
1211
}
1312
return CurrencyFormatter(
1413
currencySettings: Self.currencySettings(for: booking)
15-
).formatAmount(decimalPrice) ?? cost
14+
).formatAmount(decimalPrice) ?? priceString
1615
}
1716

1817
private static func currencySettings(for booking: Booking) -> CurrencySettings {

WooCommerce/Classes/ViewModels/Booking Details/PaymentContent.swift

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ extension BookingDetailsViewModel {
99

1010
init(booking: Booking) {
1111
amounts = [
12-
.init(value: Self.formatPrice(booking.cost), type: .service),
13-
.init(value: Self.formatPrice("0"), type: .tax),
12+
.init(value: BookingDetailsViewModel.formatPrice(for: booking, priceString: booking.cost), type: .service),
13+
.init(value: BookingDetailsViewModel.formatPrice(for: booking, priceString: "0"), type: .tax),
1414
.init(value: "-", type: .discount),
15-
.init(value: Self.formatPrice(booking.cost), type: .total, emphasized: true),
15+
.init(value: BookingDetailsViewModel.formatPrice(for: booking, priceString: booking.cost), type: .total, emphasized: true),
1616
]
1717

1818
actions = [
@@ -23,17 +23,6 @@ extension BookingDetailsViewModel {
2323
}
2424
}
2525

26-
private extension BookingDetailsViewModel.PaymentContent {
27-
static func formatPrice(_ price: String) -> String {
28-
guard let decimalPrice = Decimal(string: price) else {
29-
return price
30-
}
31-
return CurrencyFormatter(
32-
currencySettings: ServiceLocator.currencySettings
33-
).formatAmount(decimalPrice) ?? price
34-
}
35-
}
36-
3726
extension BookingDetailsViewModel.PaymentContent {
3827
struct Amount {
3928
enum AmountType {

0 commit comments

Comments
 (0)