Skip to content

Commit 5177ccc

Browse files
committed
Fix how ghost cells are shown
1 parent 55d1f8d commit 5177ccc

File tree

3 files changed

+33
-13
lines changed

3 files changed

+33
-13
lines changed

WordPress/Classes/ViewRelated/Reader/ReaderDiscoverViewController.swift

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,16 @@ class ReaderDiscoverViewController: UIViewController, ReaderDiscoverHeaderViewDe
6363

6464
self.streamVC = streamVC
6565

66+
if FeatureFlag.readerReset.enabled {
67+
// Important to set before `viewDidLoad`
68+
streamVC.isReaderResetDiscoverEnabled = true
69+
streamVC.setHeaderView(headerView)
70+
}
71+
6672
addChild(streamVC)
6773
view.addSubview(streamVC.view)
6874
streamVC.view.pinEdges()
6975
streamVC.didMove(toParent: self)
70-
71-
if FeatureFlag.readerReset.enabled {
72-
streamVC.setHeaderView(headerView)
73-
}
7476
}
7577

7678
/// TODO: (tech-debt) the app currently stores the responses from the `/discover`

WordPress/Classes/ViewRelated/Reader/ReaderStreamViewController+Ghost.swift

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,22 @@ extension ReaderStreamViewController {
1111

1212
ghostableTableView.translatesAutoresizingMaskIntoConstraints = false
1313
view.addSubview(ghostableTableView)
14-
NSLayoutConstraint.activate([
15-
ghostableTableView.widthAnchor.constraint(equalTo: tableView.widthAnchor, multiplier: 1),
16-
ghostableTableView.heightAnchor.constraint(equalTo: tableView.heightAnchor, multiplier: 1),
17-
ghostableTableView.centerXAnchor.constraint(equalTo: tableView.centerXAnchor),
18-
ghostableTableView.centerYAnchor.constraint(equalTo: tableView.centerYAnchor)
19-
])
14+
if isReaderResetDiscoverEnabled {
15+
NSLayoutConstraint.activate([
16+
ghostableTableView.topAnchor.constraint(equalTo: tableView.tableHeaderView?.bottomAnchor ?? view.topAnchor),
17+
ghostableTableView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
18+
ghostableTableView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
19+
ghostableTableView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
20+
])
21+
} else {
22+
view.addSubview(ghostableTableView)
23+
NSLayoutConstraint.activate([
24+
ghostableTableView.widthAnchor.constraint(equalTo: tableView.widthAnchor, multiplier: 1),
25+
ghostableTableView.heightAnchor.constraint(equalTo: tableView.heightAnchor, multiplier: 1),
26+
ghostableTableView.centerXAnchor.constraint(equalTo: tableView.centerXAnchor),
27+
ghostableTableView.centerYAnchor.constraint(equalTo: tableView.centerYAnchor)
28+
])
29+
}
2030

2131
ghostableTableView.accessibilityIdentifier = "Reader Ghost Loading"
2232
ghostableTableView.cellLayoutMarginsFollowReadableWidth = true

WordPress/Classes/ViewRelated/Reader/ReaderStreamViewController.swift

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,8 @@ import AutomatticTracks
260260

261261
lazy var isSidebarModeEnabled = splitViewController?.isCollapsed == false
262262

263+
var isReaderResetDiscoverEnabled = false
264+
263265
// MARK: - Factory Methods
264266

265267
/// Convenience method for instantiating an instance of ReaderStreamViewController
@@ -540,6 +542,9 @@ import AutomatticTracks
540542
// MARK: - Configuration / Topic Presentation
541543

542544
@objc private func configureStreamHeader() {
545+
guard !isReaderResetDiscoverEnabled else {
546+
return
547+
}
543548
guard let headerView = headerForStream(readerTopic, isLoggedIn: isLoggedIn, container: tableViewController) else {
544549
tableView.tableHeaderView = nil
545550
return
@@ -1718,8 +1723,9 @@ extension ReaderStreamViewController {
17181723
if content.contentCount > 0 {
17191724
return
17201725
}
1721-
1722-
tableView.tableHeaderView?.isHidden = true
1726+
if !isReaderResetDiscoverEnabled {
1727+
tableView.tableHeaderView?.isHidden = true
1728+
}
17231729
configureResultsStatus(title: ResultsStatusText.fetchingPostsTitle, accessoryView: NoResultsViewController.loadingAccessoryView())
17241730
displayResultsStatus()
17251731
showGhost()
@@ -1739,7 +1745,9 @@ extension ReaderStreamViewController {
17391745
return
17401746
}
17411747

1742-
tableView.tableHeaderView?.isHidden = true
1748+
if !isReaderResetDiscoverEnabled {
1749+
tableView.tableHeaderView?.isHidden = true
1750+
}
17431751

17441752
guard connectionAvailable() else {
17451753
displayNoConnectionView()

0 commit comments

Comments
 (0)