Skip to content

Commit 7d28021

Browse files
committed
Use the inject stores in HubMenuViewModel
1 parent cf012d6 commit 7d28021

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

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

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,25 @@ final class HubMenuViewModel: ObservableObject {
1616
private(set) unowned var navigationController: UINavigationController?
1717

1818
var avatarURL: URL? {
19-
guard let urlString = ServiceLocator.stores.sessionManager.defaultAccount?.gravatarUrl, let url = URL(string: urlString) else {
19+
guard let urlString = stores.sessionManager.defaultAccount?.gravatarUrl, let url = URL(string: urlString) else {
2020
return nil
2121
}
2222
return url
2323
}
24+
2425
var storeTitle: String {
25-
ServiceLocator.stores.sessionManager.defaultSite?.name ?? Localization.myStore
26+
stores.sessionManager.defaultSite?.name ?? Localization.myStore
2627
}
28+
2729
var storeURL: URL {
28-
guard let urlString = ServiceLocator.stores.sessionManager.defaultSite?.url, let url = URL(string: urlString) else {
30+
guard let urlString = stores.sessionManager.defaultSite?.url, let url = URL(string: urlString) else {
2931
return WooConstants.URLs.blog.asURL()
3032
}
3133
return url
3234
}
35+
3336
var woocommerceAdminURL: URL {
34-
guard let urlString = ServiceLocator.stores.sessionManager.defaultSite?.adminURL, let url = URL(string: urlString) else {
37+
guard let urlString = stores.sessionManager.defaultSite?.adminURL, let url = URL(string: urlString) else {
3538
return WooConstants.URLs.blog.asURL()
3639
}
3740
return url
@@ -43,15 +46,21 @@ final class HubMenuViewModel: ObservableObject {
4346

4447
@Published var showingReviewDetail = false
4548

49+
private let stores: StoresManager
50+
4651
private var productReviewFromNoteParcel: ProductReviewFromNoteParcel?
4752

4853
private var storePickerCoordinator: StorePickerCoordinator?
4954

5055
private var cancellables = Set<AnyCancellable>()
5156

52-
init(siteID: Int64, navigationController: UINavigationController? = nil, featureFlagService: FeatureFlagService = ServiceLocator.featureFlagService) {
57+
init(siteID: Int64,
58+
navigationController: UINavigationController? = nil,
59+
featureFlagService: FeatureFlagService = ServiceLocator.featureFlagService,
60+
stores: StoresManager = ServiceLocator.stores) {
5361
self.siteID = siteID
5462
self.navigationController = navigationController
63+
self.stores = stores
5564
menuElements = [.woocommerceAdmin, .viewStore]
5665
if featureFlagService.isFeatureFlagEnabled(.inbox) {
5766
menuElements.append(.inbox)
@@ -87,7 +96,7 @@ final class HubMenuViewModel: ObservableObject {
8796
}
8897

8998
private func observeSiteForUIUpdates() {
90-
ServiceLocator.stores.site.sink { site in
99+
stores.site.sink { site in
91100
// This will be useful in the future for updating some info of the screen depending on the store site info
92101
}.store(in: &cancellables)
93102
}

0 commit comments

Comments
 (0)