fix: make recommend trigger refresh when view appear. resolve #164
This commit is contained in:
parent
65a8307f50
commit
bac8721aec
|
@ -151,6 +151,12 @@ extension SearchViewController {
|
||||||
view.bringSubviewToFront(statusBar)
|
view.bringSubviewToFront(statusBar)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override func viewDidAppear(_ animated: Bool) {
|
||||||
|
super.viewDidAppear(animated)
|
||||||
|
|
||||||
|
viewModel.viewDidAppeared.send()
|
||||||
|
}
|
||||||
|
|
||||||
func setupSearchBar() {
|
func setupSearchBar() {
|
||||||
searchBar.delegate = self
|
searchBar.delegate = self
|
||||||
view.addSubview(searchBar)
|
view.addSubview(searchBar)
|
||||||
|
|
|
@ -23,6 +23,7 @@ final class SearchViewModel: NSObject {
|
||||||
|
|
||||||
let mastodonUser = CurrentValueSubject<MastodonUser?, Never>(nil)
|
let mastodonUser = CurrentValueSubject<MastodonUser?, Never>(nil)
|
||||||
let currentMastodonUser = CurrentValueSubject<MastodonUser?, Never>(nil)
|
let currentMastodonUser = CurrentValueSubject<MastodonUser?, Never>(nil)
|
||||||
|
let viewDidAppeared = PassthroughSubject<Void, Never>()
|
||||||
|
|
||||||
// output
|
// output
|
||||||
let searchText = CurrentValueSubject<String, Never>("")
|
let searchText = CurrentValueSubject<String, Never>("")
|
||||||
|
@ -146,8 +147,9 @@ final class SearchViewModel: NSObject {
|
||||||
}
|
}
|
||||||
.store(in: &disposeBag)
|
.store(in: &disposeBag)
|
||||||
|
|
||||||
requestRecommendHashTags()
|
viewDidAppeared
|
||||||
.receive(on: DispatchQueue.main)
|
.compactMap { _ in self.requestRecommendHashTags() }
|
||||||
|
.receive(on: RunLoop.main)
|
||||||
.sink { [weak self] _ in
|
.sink { [weak self] _ in
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
if !self.recommendHashTags.isEmpty {
|
if !self.recommendHashTags.isEmpty {
|
||||||
|
@ -160,8 +162,9 @@ final class SearchViewModel: NSObject {
|
||||||
} receiveValue: { _ in
|
} receiveValue: { _ in
|
||||||
}
|
}
|
||||||
.store(in: &disposeBag)
|
.store(in: &disposeBag)
|
||||||
|
viewDidAppeared
|
||||||
requestRecommendAccountsV2()
|
.compactMap { _ in self.requestRecommendAccountsV2() }
|
||||||
|
.receive(on: RunLoop.main)
|
||||||
.sink { [weak self] _ in
|
.sink { [weak self] _ in
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
if !self.recommendAccounts.isEmpty {
|
if !self.recommendAccounts.isEmpty {
|
||||||
|
@ -172,6 +175,7 @@ final class SearchViewModel: NSObject {
|
||||||
.store(in: &disposeBag)
|
.store(in: &disposeBag)
|
||||||
|
|
||||||
recommendAccountsFallback
|
recommendAccountsFallback
|
||||||
|
.receive(on: RunLoop.main)
|
||||||
.sink { [weak self] _ in
|
.sink { [weak self] _ in
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
self.requestRecommendAccounts()
|
self.requestRecommendAccounts()
|
||||||
|
|
Loading…
Reference in New Issue