Skip to content

Commit adb18fc

Browse files
authored
Merge pull request #7348 from woocommerce/issue/7322-upsell-card-readers-banner-settings-refresh
[Mobile Payments] Refresh Upsell Card Readers Banner when opening Settings.
2 parents a23595e + aa9eb74 commit adb18fc

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

WooCommerce/Classes/ViewRelated/Dashboard/Settings/Settings/SettingsViewController.swift

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ final class SettingsViewController: UIViewController {
5959
viewModel.onViewDidLoad()
6060
}
6161

62+
override func viewWillAppear(_ animated: Bool) {
63+
super.viewWillAppear(animated)
64+
65+
viewModel.reloadSettings()
66+
}
67+
6268
override func viewDidLayoutSubviews() {
6369
super.viewDidLayoutSubviews()
6470
tableView.updateFooterHeight()
@@ -178,7 +184,7 @@ private extension SettingsViewController {
178184
func configureUpsellCardReadersFeatureAnnouncement(cell: HostingTableViewCell<FeatureAnnouncementCardView>) {
179185
let view = FeatureAnnouncementCardView(viewModel: viewModel.upsellCardReadersAnnouncementViewModel,
180186
dismiss: { [weak self] in
181-
self?.viewModel.onUpsellCardReadersAnnouncementDismiss()
187+
self?.viewModel.reloadSettings()
182188
})
183189
cell.host(view, parent: self)
184190
cell.selectionStyle = .none

WooCommerce/Classes/ViewRelated/Dashboard/Settings/Settings/SettingsViewModel.swift

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ protocol SettingsViewModelActionsHandler {
4343
///
4444
func onJetpackInstallDismiss()
4545

46-
func onUpsellCardReadersAnnouncementDismiss()
46+
/// Reloads settings. This can be used to show or hide content depending on their visibility logic.
47+
///
48+
func reloadSettings()
4749
}
4850

4951
protocol SettingsViewModelInput: AnyObject {
@@ -166,19 +168,15 @@ final class SettingsViewModel: SettingsViewModelOutput, SettingsViewModelActions
166168
reloadSettings()
167169
}
168170

169-
func onUpsellCardReadersAnnouncementDismiss() {
170-
reloadSettings()
171-
}
172-
}
173-
174-
private extension SettingsViewModel {
175171
/// Reload the sections and refresh the view (presenter)
176172
///
177173
func reloadSettings() {
178174
configureSections()
179175
presenter?.refreshViewContent()
180176
}
177+
}
181178

179+
private extension SettingsViewModel {
182180
func loadWhatsNewOnWooCommerce() {
183181
stores.dispatch(AnnouncementsAction.loadSavedAnnouncement(onCompletion: { [weak self] result in
184182
guard let self = self else { return }

0 commit comments

Comments
 (0)