Skip to content

Commit 1ed6976

Browse files
Add: onDismiss callback for site creation overlays
1 parent 99ab0c8 commit 1ed6976

File tree

5 files changed

+13
-2
lines changed

5 files changed

+13
-2
lines changed

WordPress/Classes/ViewRelated/Jetpack/Branding/Coordinator/JetpackFeaturesRemovalCoordinator.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,12 @@ class JetpackFeaturesRemovalCoordinator {
103103
/// Used to display Site Creation overlays.
104104
/// - Parameters:
105105
/// - viewController: View controller where the overlay should be presented in.
106-
static func presentSiteCreationOverlayIfNeeded(in viewController: UIViewController) {
106+
static func presentSiteCreationOverlayIfNeeded(in viewController: UIViewController, onDismiss: JetpackOverlayDismissCallback? = nil) {
107107
let phase = siteCreationPhase()
108-
let viewModel = JetpackFullscreenOverlaySiteCreationViewModel(phase: phase)
108+
var viewModel = JetpackFullscreenOverlaySiteCreationViewModel(phase: phase)
109+
viewModel.onDismiss = onDismiss
109110
guard viewModel.shouldShowOverlay else {
111+
onDismiss?()
110112
return
111113
}
112114
createAndPresentOverlay(with: viewModel, in: viewController)

WordPress/Classes/ViewRelated/Jetpack/Branding/Fullscreen Overlay/JetpackFullscreenOverlayGeneralViewModel.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,8 @@ struct JetpackFullscreenOverlayGeneralViewModel: JetpackFullscreenOverlayViewMod
163163
var titleLabelMaxNumberOfLines: Int {
164164
return 2
165165
}
166+
167+
var onDismiss: JetpackOverlayDismissCallback?
166168
}
167169

168170
private extension JetpackFullscreenOverlayGeneralViewModel {

WordPress/Classes/ViewRelated/Jetpack/Branding/Fullscreen Overlay/JetpackFullscreenOverlaySiteCreationViewModel.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ struct JetpackFullscreenOverlaySiteCreationViewModel: JetpackFullscreenOverlayVi
7373
var titleLabelMaxNumberOfLines: Int {
7474
return 3
7575
}
76+
77+
var onDismiss: JetpackOverlayDismissCallback?
7678
}
7779

7880
private extension JetpackFullscreenOverlaySiteCreationViewModel {

WordPress/Classes/ViewRelated/Jetpack/Branding/Fullscreen Overlay/JetpackFullscreenOverlayViewController.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ class JetpackFullscreenOverlayViewController: UIViewController {
211211
@objc private func closeButtonPressed(sender: UIButton) {
212212
dismiss(animated: true, completion: nil)
213213
viewModel.trackCloseButtonTapped()
214+
viewModel.onDismiss?()
214215
}
215216

216217

@@ -222,6 +223,7 @@ class JetpackFullscreenOverlayViewController: UIViewController {
222223
@IBAction func continueButtonPressed(_ sender: Any) {
223224
dismiss(animated: true, completion: nil)
224225
viewModel.trackContinueButtonTapped()
226+
viewModel.onDismiss?()
225227
}
226228

227229
@IBAction func learnMoreButtonPressed(_ sender: Any) {

WordPress/Classes/ViewRelated/Jetpack/Branding/Fullscreen Overlay/JetpackFullscreenOverlayViewModel.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import Foundation
22

3+
typealias JetpackOverlayDismissCallback = () -> Void
4+
35
/// Protocol used to configure `JetpackFullscreenOverlayViewController`
46
protocol JetpackFullscreenOverlayViewModel {
57
var title: String { get }
@@ -13,6 +15,7 @@ protocol JetpackFullscreenOverlayViewModel {
1315
var shouldShowCloseButton: Bool { get }
1416
var analyticsSource: String { get }
1517
var titleLabelMaxNumberOfLines: Int { get }
18+
var onDismiss: JetpackOverlayDismissCallback? { get }
1619

1720
func trackOverlayDisplayed()
1821
func trackLearnMoreTapped()

0 commit comments

Comments
 (0)