From ca94bcef87601f28d5f8e3a1175797af7aa0d038 Mon Sep 17 00:00:00 2001 From: Simon Epstein Date: Sat, 16 Dec 2023 00:35:17 +0000 Subject: [PATCH] Hide playlists in channel search results if "hide channel playlist" preference selected. (#4454) * Hide playlists in channel search results if "hide channel playlist" preference selected. * Apply filtering to invidious api response. * Correct playlist filtering predicate for invidious API. --------- Co-authored-by: Simon Epstein --- src/renderer/views/Channel/Channel.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/renderer/views/Channel/Channel.js b/src/renderer/views/Channel/Channel.js index 1cec8b70de184..b51538e5e9d4b 100644 --- a/src/renderer/views/Channel/Channel.js +++ b/src/renderer/views/Channel/Channel.js @@ -1801,7 +1801,7 @@ export default defineComponent({ const results = contents .filter(node => node.type === 'ItemSection') .flatMap(itemSection => itemSection.contents) - .filter(item => item.type === 'Video' || item.type === 'Playlist') + .filter(item => item.type === 'Video' || (!this.hideChannelPlaylists && item.type === 'Playlist')) .map(item => { if (item.type === 'Video') { return parseLocalListVideo(item) @@ -1847,7 +1847,11 @@ export default defineComponent({ } invidiousAPICall(payload).then((response) => { - this.searchResults = this.searchResults.concat(response) + if (this.hideChannelPlaylists) { + this.searchResults = this.searchResults.concat(response.filter(item => item.type !== 'playlist')) + } else { + this.searchResults = this.searchResults.concat(response) + } this.isElementListLoading = false this.searchPage++ }).catch((err) => {