Skip to content

Commit ff99766

Browse files
authored
Merge 19.1.0.1 (#17817)
2 parents 2842e6e + a344d3d commit ff99766

File tree

74 files changed

+3757
-1863
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+3757
-1863
lines changed

WordPress/Classes/ViewRelated/Blog/My Site/MySiteViewController.swift

Lines changed: 67 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,34 @@ class MySiteViewController: UIViewController, NoResultsViewHost {
1717
}
1818
}
1919

20-
@IBOutlet weak var stackView: UIStackView!
21-
@IBOutlet weak var segmentedControlContainerView: UIView!
22-
@IBOutlet weak var segmentedControl: UISegmentedControl!
23-
@IBOutlet weak var containerView: UIView!
20+
private lazy var stackView: UIStackView = {
21+
let stackView = UIStackView()
22+
stackView.translatesAutoresizingMaskIntoConstraints = false
23+
stackView.axis = .vertical
24+
stackView.alignment = .fill
25+
stackView.distribution = .fill
26+
stackView.spacing = 0
27+
return stackView
28+
}()
29+
30+
private lazy var segmentedControlContainerView: UIView = {
31+
let view = UIView()
32+
view.translatesAutoresizingMaskIntoConstraints = false
33+
view.backgroundColor = .basicBackground
34+
return view
35+
}()
36+
37+
private lazy var segmentedControl: UISegmentedControl = {
38+
let segmentedControl = UISegmentedControl()
39+
segmentedControl.translatesAutoresizingMaskIntoConstraints = false
40+
return segmentedControl
41+
}()
42+
43+
private lazy var containerView: UIView = {
44+
let view = UIView()
45+
view.translatesAutoresizingMaskIntoConstraints = false
46+
return view
47+
}()
2448

2549
private let meScenePresenter: ScenePresenter
2650
private let blogService: BlogService
@@ -75,6 +99,7 @@ class MySiteViewController: UIViewController, NoResultsViewHost {
7599
// MARK: - View Lifecycle
76100

77101
override func viewDidLoad() {
102+
setupConstraints()
78103
setupNavigationItem()
79104
setupSegmentedControl()
80105
subscribeToPostSignupNotifications()
@@ -136,6 +161,37 @@ class MySiteViewController: UIViewController, NoResultsViewHost {
136161
segmentedControl.selectedSegmentIndex = 0
137162
}
138163

164+
/// If the My Site Dashboard feature flag is enabled, then this method builds a layout with the following
165+
/// view hierarchy:
166+
///
167+
/// - Stack view
168+
/// - Segmented control container view
169+
/// - Segmented control
170+
/// - Container view (for a child vc)
171+
///
172+
/// Otherwise, if the My Site Dashboard feature flag is disabled, this method does nothing and the
173+
/// child vc get added directly to the root view of the view controller in showBlogDetails.
174+
///
175+
private func setupConstraints() {
176+
guard FeatureFlag.mySiteDashboard.enabled else {
177+
return
178+
}
179+
180+
view.addSubview(stackView)
181+
segmentedControlContainerView.addSubview(segmentedControl)
182+
stackView.addArrangedSubviews([segmentedControlContainerView, containerView])
183+
184+
NSLayoutConstraint.activate([
185+
stackView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
186+
stackView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
187+
stackView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
188+
stackView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor),
189+
segmentedControl.centerXAnchor.constraint(equalTo: segmentedControlContainerView.centerXAnchor),
190+
segmentedControl.centerYAnchor.constraint(equalTo: segmentedControlContainerView.centerYAnchor),
191+
segmentedControl.topAnchor.constraint(equalTo: segmentedControlContainerView.topAnchor, constant: 24)
192+
])
193+
}
194+
139195
// MARK: - Navigation Item
140196

141197
/// In iPad and iOS 14, the large-title bar is collapsed when the VC is first loaded. Call this method from
@@ -435,7 +491,13 @@ class MySiteViewController: UIViewController, NoResultsViewHost {
435491

436492
addMeButtonToNavigationBar(email: blog.account?.email, meScenePresenter: meScenePresenter)
437493

438-
embedChildInContainerView(blogDetailsViewController)
494+
if FeatureFlag.mySiteDashboard.enabled {
495+
embedChildInContainerView(blogDetailsViewController)
496+
} else {
497+
add(blogDetailsViewController)
498+
blogDetailsViewController.view.translatesAutoresizingMaskIntoConstraints = false
499+
view.pinSubviewToAllEdges(blogDetailsViewController.view)
500+
}
439501

440502
blogDetailsViewController.showInitialDetailsForBlog()
441503
}

WordPress/Classes/ViewRelated/Blog/My Site/MySiteViewController.xib

Lines changed: 0 additions & 73 deletions
This file was deleted.

0 commit comments

Comments
 (0)