Present suggestions when user visits onboarding and doesn't follow people (IOS-157)
This commit is contained in:
parent
11bab5e337
commit
e20b2e4e11
@ -240,6 +240,19 @@ extension HomeTimelineViewController {
|
||||
.sink { [weak self] isEmpty in
|
||||
if isEmpty {
|
||||
self?.showEmptyView()
|
||||
|
||||
let userDoesntFollowPeople: Bool
|
||||
if let managedObjectContext = self?.context.managedObjectContext,
|
||||
let me = self?.authContext.mastodonAuthenticationBox.authenticationRecord.object(in: managedObjectContext)?.user {
|
||||
userDoesntFollowPeople = me.followersCount == 0
|
||||
} else {
|
||||
userDoesntFollowPeople = true
|
||||
}
|
||||
|
||||
if (self?.viewModel.presentedSuggestions == false) && userDoesntFollowPeople {
|
||||
self?.findPeopleButtonPressed(self)
|
||||
self?.viewModel.presentedSuggestions = true
|
||||
}
|
||||
} else {
|
||||
self?.emptyView.removeFromSuperview()
|
||||
}
|
||||
@ -285,8 +298,6 @@ extension HomeTimelineViewController {
|
||||
override func viewDidAppear(_ animated: Bool) {
|
||||
super.viewDidAppear(animated)
|
||||
|
||||
viewModel.viewDidAppear.send()
|
||||
|
||||
if let timestamp = viewModel.lastAutomaticFetchTimestamp {
|
||||
let now = Date()
|
||||
if now.timeIntervalSince(timestamp) > 60 {
|
||||
@ -376,7 +387,7 @@ extension HomeTimelineViewController {
|
||||
|
||||
extension HomeTimelineViewController {
|
||||
|
||||
@objc private func findPeopleButtonPressed(_ sender: PrimaryActionButton) {
|
||||
@objc private func findPeopleButtonPressed(_ sender: Any?) {
|
||||
let suggestionAccountViewModel = SuggestionAccountViewModel(context: context, authContext: viewModel.authContext)
|
||||
suggestionAccountViewModel.delegate = viewModel
|
||||
_ = coordinator.present(
|
||||
|
@ -30,7 +30,8 @@ final class HomeTimelineViewModel: NSObject {
|
||||
let fetchedResultsController: FeedFetchedResultsController
|
||||
let homeTimelineNavigationBarTitleViewModel: HomeTimelineNavigationBarTitleViewModel
|
||||
let listBatchFetchViewModel = ListBatchFetchViewModel()
|
||||
let viewDidAppear = PassthroughSubject<Void, Never>()
|
||||
|
||||
var presentedSuggestions = false
|
||||
|
||||
@Published var lastAutomaticFetchTimestamp: Date? = nil
|
||||
@Published var scrollPositionRecord: ScrollPositionRecord? = nil
|
||||
|
Loading…
x
Reference in New Issue
Block a user