Skip to content

Commit 1aa3efc

Browse files
committed
Inject couponsController into POS entry point
1 parent ad84397 commit 1aa3efc

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

WooCommerce/Classes/POS/Presentation/PointOfSaleEntryPointView.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,21 @@ struct PointOfSaleEntryPointView: View {
88

99
private let onPointOfSaleModeActiveStateChange: ((Bool) -> Void)
1010
private let itemsController: PointOfSaleItemsControllerProtocol
11+
private let couponsController: PointOfSaleItemsControllerProtocol
1112
private let cardPresentPaymentService: CardPresentPaymentFacade
1213
private let orderController: PointOfSaleOrderControllerProtocol
1314
private let collectOrderPaymentAnalyticsTracker: POSCollectOrderPaymentAnalyticsTracking
1415

1516
init(itemsController: PointOfSaleItemsControllerProtocol,
17+
couponsController: PointOfSaleItemsControllerProtocol,
1618
onPointOfSaleModeActiveStateChange: @escaping ((Bool) -> Void),
1719
cardPresentPaymentService: CardPresentPaymentFacade,
1820
orderController: PointOfSaleOrderControllerProtocol,
1921
collectOrderPaymentAnalyticsTracker: POSCollectOrderPaymentAnalyticsTracking) {
2022
self.onPointOfSaleModeActiveStateChange = onPointOfSaleModeActiveStateChange
2123

2224
self.itemsController = itemsController
25+
self.couponsController = couponsController
2326
self.cardPresentPaymentService = cardPresentPaymentService
2427
self.orderController = orderController
2528
self.collectOrderPaymentAnalyticsTracker = collectOrderPaymentAnalyticsTracker
@@ -60,6 +63,7 @@ struct PointOfSaleEntryPointView: View {
6063
@available(iOS 17.0, *)
6164
#Preview {
6265
PointOfSaleEntryPointView(itemsController: PointOfSalePreviewItemsController(),
66+
couponsController: PointOfSalePreviewItemsController(),
6367
onPointOfSaleModeActiveStateChange: { _ in },
6468
cardPresentPaymentService: CardPresentPaymentPreviewService(),
6569
orderController: PointOfSalePreviewOrderController(),

WooCommerce/Classes/ViewRelated/Hub Menu/HubMenu.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ struct HubMenu: View {
4040
#available(iOS 17.0, *) {
4141
PointOfSaleEntryPointView(
4242
itemsController: PointOfSaleItemsController(itemProvider: viewModel.posItemProvider),
43+
couponsController: PointOfSaleCouponsController(itemProvider: viewModel.posCouponProvider),
4344
onPointOfSaleModeActiveStateChange: { isEnabled in
4445
viewModel.updateDefaultConfigurationForPointOfSale(isEnabled)
4546
},

WooCommerce/Classes/ViewRelated/Hub Menu/HubMenuViewModel.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,16 @@ final class HubMenuViewModel: ObservableObject {
103103
credentials: credentials,
104104
storage: storage)
105105
}()
106+
107+
private(set) lazy var posCouponProvider: PointOfSaleItemServiceProtocol = {
108+
let storage = ServiceLocator.storageManager
109+
let currencySettings = ServiceLocator.currencySettings
110+
111+
return PointOfSaleCouponService(siteID: siteID,
112+
currencySettings: currencySettings,
113+
credentials: credentials,
114+
storage: storage)
115+
}()
106116

107117
private(set) lazy var inboxViewModel = InboxViewModel(siteID: siteID)
108118

0 commit comments

Comments
 (0)