@@ -134,6 +134,12 @@ final class NewOrderViewModel: ObservableObject {
134134 performingNetworkRequest
135135 }
136136
137+ /// Defines the current order status.
138+ ///
139+ var currentOrderStatus : OrderStatusEnum {
140+ orderSynchronizer. order. status
141+ }
142+
137143 /// Representation of payment data display properties
138144 ///
139145 @Published private( set) var paymentDataViewModel = PaymentDataViewModel ( )
@@ -268,7 +274,6 @@ extension NewOrderViewModel {
268274 /// Type to hold all order detail values
269275 ///
270276 struct OrderDetails {
271- var status : OrderStatusEnum = . pending
272277 var items : [ NewOrderItem ] = [ ]
273278 var billingAddress : Address ?
274279 var shippingAddress : Address ?
@@ -279,7 +284,7 @@ extension NewOrderViewModel {
279284 let emptyOrder = Order . empty
280285
281286 func toOrder( ) -> Order {
282- emptyOrder. copy ( status: status ,
287+ emptyOrder. copy ( status: . pending ,
283288 items: items. map { $0. orderItem } ,
284289 billingAddress: billingAddress,
285290 shippingAddress: shippingAddress)
@@ -425,10 +430,10 @@ private extension NewOrderViewModel {
425430 /// Updates status badge viewmodel based on status order property.
426431 ///
427432 func configureStatusBadgeViewModel( ) {
428- $orderDetails
429- . map { [ weak self] orderDetails in
430- guard let siteOrderStatus = self ? . currentSiteStatuses. first ( where: { $0. status == orderDetails . status } ) else {
431- return StatusBadgeViewModel ( orderStatusEnum: orderDetails . status)
433+ orderSynchronizer . orderPublisher
434+ . map { [ weak self] order in
435+ guard let siteOrderStatus = self ? . currentSiteStatuses. first ( where: { $0. status == order . status } ) else {
436+ return StatusBadgeViewModel ( orderStatusEnum: order . status)
432437 }
433438 return StatusBadgeViewModel ( orderStatus: siteOrderStatus)
434439 }
0 commit comments