Skip to content

Commit 692c1ff

Browse files
Refactor: rename JetpackFullscreenOverlayConfig to JetpackFullscreenOverlayViewModel
1 parent 676c52a commit 692c1ff

8 files changed

+50
-50
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,17 +91,17 @@ class JetpackFeaturesRemovalCoordinator {
9191
static func presentOverlay(from source: OverlaySource, in viewController: UIViewController) {
9292
let phase = generalPhase()
9393
let frequencyConfig = phase.frequencyConfig
94-
let config = JetpackFullscreenOverlayGeneralConfig(phase: phase, source: source)
94+
let viewModel = JetpackFullscreenOverlayGeneralViewModel(phase: phase, source: source)
9595
let frequencyTracker = JetpackOverlayFrequencyTracker(frequencyConfig: frequencyConfig, source: source)
96-
guard config.shouldShowOverlay, frequencyTracker.shouldShow() else {
96+
guard viewModel.shouldShowOverlay, frequencyTracker.shouldShow() else {
9797
return
9898
}
99-
createAndPresentOverlay(with: config, in: viewController)
99+
createAndPresentOverlay(with: viewModel, in: viewController)
100100
frequencyTracker.track()
101101
}
102102

103-
private static func createAndPresentOverlay(with config: JetpackFullscreenOverlayConfig, in viewController: UIViewController) {
104-
let overlay = JetpackFullscreenOverlayViewController(with: config)
103+
private static func createAndPresentOverlay(with viewModel: JetpackFullscreenOverlayViewModel, in viewController: UIViewController) {
104+
let overlay = JetpackFullscreenOverlayViewController(with: viewModel)
105105
let navigationViewController = UINavigationController(rootViewController: overlay)
106106
navigationViewController.modalPresentationStyle = .formSheet
107107
viewController.present(navigationViewController, animated: true)

WordPress/Classes/ViewRelated/Jetpack/Branding/Analytics/JetpackFullscreenOverlayGeneralConfig+Analytics.swift renamed to WordPress/Classes/ViewRelated/Jetpack/Branding/Fullscreen Overlay/JetpackFullscreenOverlayGeneralViewModel+Analytics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Foundation
22
import AutomatticTracks
33

4-
extension JetpackFullscreenOverlayGeneralConfig {
4+
extension JetpackFullscreenOverlayGeneralViewModel {
55

66
// MARK: Private Enum Decleration
77

WordPress/Classes/ViewRelated/Jetpack/Branding/Overlay/JetpackFullscreenOverlayGeneralPhaseConfig.swift renamed to WordPress/Classes/ViewRelated/Jetpack/Branding/Fullscreen Overlay/JetpackFullscreenOverlayGeneralViewModel.swift

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

3-
/// Dynamic implementation of `JetpackFullscreenOverlayConfig`
3+
/// Dynamic implementation of `JetpackFullscreenOverlayViewModel` based on the general phase
44
/// Should be used for feature-specific and feature-collection overlays.
5-
struct JetpackFullscreenOverlayGeneralConfig: JetpackFullscreenOverlayConfig {
5+
struct JetpackFullscreenOverlayGeneralViewModel: JetpackFullscreenOverlayViewModel {
66

77
let phase: JetpackFeaturesRemovalCoordinator.GeneralPhase
88
let source: JetpackFeaturesRemovalCoordinator.OverlaySource
@@ -161,7 +161,7 @@ struct JetpackFullscreenOverlayGeneralConfig: JetpackFullscreenOverlayConfig {
161161
}
162162
}
163163

164-
private extension JetpackFullscreenOverlayGeneralConfig {
164+
private extension JetpackFullscreenOverlayGeneralViewModel {
165165
enum Constants {
166166
static let statsLogoAnimationLtr = "JetpackStatsLogoAnimation_ltr"
167167
static let statsLogoAnimationRtl = "JetpackStatsLogoAnimation_rtl"

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

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ class JetpackFullscreenOverlayViewController: UIViewController {
55

66
// MARK: Variables
77

8-
private let config: JetpackFullscreenOverlayConfig
8+
private let viewModel: JetpackFullscreenOverlayViewModel
99

1010
/// Sets the animation based on the language orientation
1111
private var animation: Animation? {
1212
traitCollection.layoutDirection == .leftToRight ?
13-
Animation.named(config.animationLtr) :
14-
Animation.named(config.animationRtl)
13+
Animation.named(viewModel.animationLtr) :
14+
Animation.named(viewModel.animationRtl)
1515
}
1616

1717
// MARK: Lazy Views
@@ -55,8 +55,8 @@ class JetpackFullscreenOverlayViewController: UIViewController {
5555

5656
// MARK: Initializers
5757

58-
init(with config: JetpackFullscreenOverlayConfig) {
59-
self.config = config
58+
init(with viewModel: JetpackFullscreenOverlayViewModel) {
59+
self.viewModel = viewModel
6060
super.init(nibName: nil, bundle: nil)
6161
}
6262

@@ -96,7 +96,7 @@ class JetpackFullscreenOverlayViewController: UIViewController {
9696
}
9797

9898
private func addCloseButtonIfNeeded() {
99-
guard config.shouldShowCloseButton else {
99+
guard viewModel.shouldShowCloseButton else {
100100
return
101101
}
102102

@@ -116,13 +116,13 @@ class JetpackFullscreenOverlayViewController: UIViewController {
116116
private func setupContent() {
117117
animationView.animation = animation
118118
setTitle()
119-
subtitleLabel.text = config.subtitle
120-
footnoteLabel.text = config.footnote
121-
switchButton.setTitle(config.switchButtonText, for: .normal)
122-
continueButton.setTitle(config.continueButtonText, for: .normal)
123-
footnoteLabel.isHidden = config.footnoteIsHidden
124-
learnMoreButton.isHidden = config.learnMoreButtonIsHidden
125-
continueButton.isHidden = config.continueButtonIsHidden
119+
subtitleLabel.text = viewModel.subtitle
120+
footnoteLabel.text = viewModel.footnote
121+
switchButton.setTitle(viewModel.switchButtonText, for: .normal)
122+
continueButton.setTitle(viewModel.continueButtonText, for: .normal)
123+
footnoteLabel.isHidden = viewModel.footnoteIsHidden
124+
learnMoreButton.isHidden = viewModel.learnMoreButtonIsHidden
125+
continueButton.isHidden = viewModel.continueButtonIsHidden
126126
setupLearnMoreButton()
127127
}
128128

@@ -135,7 +135,7 @@ class JetpackFullscreenOverlayViewController: UIViewController {
135135
.paragraphStyle: style,
136136
.kern: Metrics.titleKern
137137
]
138-
let attributedString = NSMutableAttributedString(string: config.title)
138+
let attributedString = NSMutableAttributedString(string: viewModel.title)
139139
attributedString.addAttributes(defaultAttributes, range: NSRange(location: 0, length: attributedString.length))
140140
titleLabel.attributedText = attributedString
141141
}
@@ -218,7 +218,7 @@ class JetpackFullscreenOverlayViewController: UIViewController {
218218
return
219219
}
220220

221-
let source = "jetpack_overlay_\(config.analyticsSource)"
221+
let source = "jetpack_overlay_\(viewModel.analyticsSource)"
222222
let webViewController = WebViewControllerFactory.controller(url: url, source: source)
223223
let navController = UINavigationController(rootViewController: webViewController)
224224
present(navController, animated: true)

WordPress/Classes/ViewRelated/Jetpack/Branding/Overlay/JetpackFullscreenOverlayViewController.xib renamed to WordPress/Classes/ViewRelated/Jetpack/Branding/Fullscreen Overlay/JetpackFullscreenOverlayViewController.xib

File renamed without changes.

WordPress/Classes/ViewRelated/Jetpack/Branding/Overlay/JetpackFullscreenOverlayConfig.swift renamed to WordPress/Classes/ViewRelated/Jetpack/Branding/Fullscreen Overlay/JetpackFullscreenOverlayViewModel.swift

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

33
/// Protocol used to configure `JetpackFullscreenOverlayViewController`
4-
protocol JetpackFullscreenOverlayConfig {
4+
protocol JetpackFullscreenOverlayViewModel {
55
var title: String { get }
66
var subtitle: String { get }
77
var animationLtr: String { get }
@@ -21,7 +21,7 @@ protocol JetpackFullscreenOverlayConfig {
2121
func trackContinueButtonTapped()
2222
}
2323

24-
extension JetpackFullscreenOverlayConfig {
24+
extension JetpackFullscreenOverlayViewModel {
2525
var learnMoreButtonIsHidden: Bool {
2626
!shouldShowLearnMoreButton
2727
}

WordPress/Classes/ViewRelated/Jetpack/Branding/Analytics/JetpackBrandingAnalyticsHelper.swift renamed to WordPress/Classes/ViewRelated/Jetpack/Branding/JetpackBrandingAnalyticsHelper.swift

File renamed without changes.

0 commit comments

Comments
 (0)