mirror of https://github.com/FreeTubeApp/FreeTube
Order watched recommended videos last (#4394)
* Implement change * Update to use local variable to potentially improve performance in non-first load case
This commit is contained in:
parent
a67541ed03
commit
fc210aa663
|
@ -277,10 +277,16 @@ export default defineComponent({
|
|||
|
||||
this.isFamilyFriendly = result.basic_info.is_family_safe
|
||||
|
||||
this.recommendedVideos = result.watch_next_feed
|
||||
const recommendedVideos = result.watch_next_feed
|
||||
?.filter((item) => item.type === 'CompactVideo')
|
||||
.map(parseLocalWatchNextVideo) ?? []
|
||||
|
||||
// place watched recommended videos last
|
||||
this.recommendedVideos = [
|
||||
...recommendedVideos.filter((video) => !this.isRecommendedVideoWatched(video.videoId)),
|
||||
...recommendedVideos.filter((video) => this.isRecommendedVideoWatched(video.videoId))
|
||||
]
|
||||
|
||||
if (this.showFamilyFriendlyOnly && !this.isFamilyFriendly) {
|
||||
this.isLoading = false
|
||||
this.handleVideoEnded()
|
||||
|
@ -699,7 +705,12 @@ export default defineComponent({
|
|||
|
||||
this.videoPublished = result.published * 1000
|
||||
this.videoDescriptionHtml = result.descriptionHtml
|
||||
this.recommendedVideos = result.recommendedVideos
|
||||
const recommendedVideos = result.recommendedVideos
|
||||
// place watched recommended videos last
|
||||
this.recommendedVideos = [
|
||||
...recommendedVideos.filter((video) => !this.isRecommendedVideoWatched(video.videoId)),
|
||||
...recommendedVideos.filter((video) => this.isRecommendedVideoWatched(video.videoId))
|
||||
]
|
||||
this.adaptiveFormats = await this.getAdaptiveFormatsInvidious(result)
|
||||
this.isLive = result.liveNow
|
||||
this.isFamilyFriendly = result.isFamilyFriendly
|
||||
|
@ -1067,6 +1078,10 @@ export default defineComponent({
|
|||
this.checkIfWatched()
|
||||
},
|
||||
|
||||
isRecommendedVideoWatched: function (videoId) {
|
||||
return !!this.$store.getters.getHistoryCacheById[videoId]
|
||||
},
|
||||
|
||||
checkIfWatched: function () {
|
||||
if (!this.isLive) {
|
||||
if (this.timestamp) {
|
||||
|
|
Loading…
Reference in New Issue