Skip to content

Commit

Permalink
* Update playlist view to auto load next page for local API to workar…
Browse files Browse the repository at this point in the history
…ound issue of useless continuation data (#4519)
  • Loading branch information
PikachuEXE authored Jan 6, 2024
1 parent baa7b01 commit f25b537
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/renderer/views/Playlist/Playlist.js
Original file line number Diff line number Diff line change
Expand Up @@ -199,9 +199,14 @@ export default defineComponent({

this.playlistItems = result.items.map(parseLocalPlaylistVideo)

let shouldGetNextPage = false
if (result.has_continuation) {
this.continuationData = result
shouldGetNextPage = this.playlistItems.length < 100
}
// To workaround the effect of useless continuation data
// auto load next page again when no. of parsed items < page size
if (shouldGetNextPage) { this.getNextPageLocal() }

this.isLoading = false
}).catch((err) => {
Expand Down Expand Up @@ -294,12 +299,17 @@ export default defineComponent({
this.isLoadingMore = true

getLocalPlaylistContinuation(this.continuationData).then((result) => {
let shouldGetNextPage = false

if (result) {
const parsedVideos = result.items.map(parseLocalPlaylistVideo)
this.playlistItems = this.playlistItems.concat(parsedVideos)

if (result.has_continuation) {
this.continuationData = result
// To workaround the effect of useless continuation data
// auto load next page again when no. of parsed items < page size
shouldGetNextPage = parsedVideos.length < 100
} else {
this.continuationData = null
}
Expand All @@ -308,6 +318,7 @@ export default defineComponent({
}

this.isLoadingMore = false
if (shouldGetNextPage) { this.getNextPageLocal() }
})
},

Expand Down

0 comments on commit f25b537

Please sign in to comment.