Skip to content

Commit 6ec4b68

Browse files
author
Sharma Elanthiriayan
committed
Migrate settings screen to MVVM.
1 parent 22f860f commit 6ec4b68

File tree

7 files changed

+572
-329
lines changed

7 files changed

+572
-329
lines changed

WooCommerce/Classes/ViewRelated/Dashboard/DashboardViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ extension DashboardViewController {
320320
private extension DashboardViewController {
321321

322322
@objc func settingsTapped() {
323-
let settingsViewController = SettingsViewController(nibName: nil, bundle: nil)
323+
let settingsViewController = SettingsFactory.settings()
324324
ServiceLocator.analytics.track(.settingsTapped)
325325
show(settingsViewController, sender: self)
326326
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import UIKit
2+
3+
struct SettingsFactory {
4+
/// Creates a Settings view controller
5+
///
6+
static func settings() -> UIViewController {
7+
let viewModel = SettingsViewModel(stores: ServiceLocator.stores,
8+
storageManager: ServiceLocator.storageManager)
9+
let settingsViewController = SettingsViewController(viewModel: viewModel)
10+
viewModel.presenter = settingsViewController
11+
return settingsViewController
12+
}
13+
}

0 commit comments

Comments
 (0)