[APP-549] Language controls for Whats Hot (#563)

* Add a content-language preference control

* Update whats hot to only show the selected languages and to refresh on lang pref changes

* Fix lint

* Fix tests

* Add missing accessibility role
This commit is contained in:
Paul Frazee 2023-05-02 23:06:55 -05:00 committed by GitHub
parent 95f8360d19
commit 6f1c4ec9a9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 381 additions and 93 deletions

View file

@ -297,6 +297,9 @@ export class PostsFeedModel {
// used to linearize async modifications to state
lock = new AwaitLock()
// used to track if what's hot is coming up empty
emptyFetches = 0
// data
slices: PostsFeedSliceModel[] = []
@ -603,6 +606,9 @@ export class PostsFeedModel {
) {
this.loadMoreCursor = res.data.cursor
this.hasMore = !!this.loadMoreCursor
if (replace) {
this.emptyFetches = 0
}
this.rootStore.me.follows.hydrateProfiles(
res.data.feed.map(item => item.post.author),
@ -625,6 +631,12 @@ export class PostsFeedModel {
} else {
this.slices = this.slices.concat(toAppend)
}
if (toAppend.length === 0) {
this.emptyFetches++
if (this.emptyFetches >= 10) {
this.hasMore = false
}
}
})
}