From 0c4ee9e7a7b5674b85dbaea05dee83020448dd81 Mon Sep 17 00:00:00 2001 From: Kenny <27463495+Frontesque@users.noreply.github.com> Date: Wed, 16 Nov 2022 19:27:22 -0500 Subject: [PATCH] Revert "Remove code duplication for thumbnails loading (#562)" This reverts commit fa05eec499fb1781aaa92cc96797ec37a4cd38c6. --- NUXT/components/Player/index.vue | 8 +------- NUXT/plugins/innertube.js | 14 ++++++++++++++ NUXT/plugins/thumbnail.js | 17 ----------------- NUXT/plugins/youtube.js | 23 ++++++++++++++++++++--- 4 files changed, 35 insertions(+), 27 deletions(-) delete mode 100644 NUXT/plugins/thumbnail.js diff --git a/NUXT/components/Player/index.vue b/NUXT/components/Player/index.vue index 378a182..041e405 100644 --- a/NUXT/components/Player/index.vue +++ b/NUXT/components/Player/index.vue @@ -54,7 +54,7 @@ }rem 0rem 0rem !important` : '0', }" - :poster="getThumbnail($route.query.v)" + :poster="$youtube.getThumbnail($route.query.v, 'max', [])" @loadedmetadata="checkDimensions()" @click="controlsHandler()" /> @@ -352,7 +352,6 @@ import progressbar from "~/components/Player/progressbar.vue"; import sponsorblock from "~/components/Player/sponsorblock.vue"; import backType from "~/plugins/classes/backType"; -import Thumbnail from "~/plugins/thumbnail"; export default { components: { @@ -624,11 +623,6 @@ export default { this.$refs.player.playbackRate = speed; this.$refs.audio.playbackRate = speed; }, - getThumbnail(query) { - const thumbnail = new Thumbnail(); - - return thumbnail.getThumbnail(query, "max", []); - }, checkDimensions() { if (this.$refs.player.videoHeight > this.$refs.player.videoWidth) { this.isVerticalVideo = true; diff --git a/NUXT/plugins/innertube.js b/NUXT/plugins/innertube.js index 6113ff9..027ffd9 100644 --- a/NUXT/plugins/innertube.js +++ b/NUXT/plugins/innertube.js @@ -262,6 +262,20 @@ class Innertube { }); } + // Static methods + + static getThumbnail(id, resolution) { + if (resolution == "max") { + const url = `https://img.youtube.com/vi/${id}/maxresdefault.jpg`; + let img = new Image(); + img.src = url; + img.onload = function () { + if (img.height !== 120) return url; + }; + } + return `https://img.youtube.com/vi/${id}/mqdefault.jpg`; + } + // Simple Wrappers async getRecommendationsAsync() { const rec = await this.browseAsync("recommendations"); diff --git a/NUXT/plugins/thumbnail.js b/NUXT/plugins/thumbnail.js deleted file mode 100644 index 6c49cc9..0000000 --- a/NUXT/plugins/thumbnail.js +++ /dev/null @@ -1,17 +0,0 @@ -class Thumbnail { - getThumbnail(id, resolution, backupThumbnail) { - if (resolution == "max") { - const url = `https://img.youtube.com/vi/${id}/maxresdefault.jpg`; - let img = new Image(); - img.src = url; - img.onload = function () { - if (img.height !== 120) return url; - }; - } - if (backupThumbnail[backupThumbnail.length - 1]) - return backupThumbnail[backupThumbnail.length - 1].url; - else return `https://img.youtube.com/vi/${id}/mqdefault.jpg`; - } -} - -export default Thumbnail; diff --git a/NUXT/plugins/youtube.js b/NUXT/plugins/youtube.js index 8fee177..77fb265 100644 --- a/NUXT/plugins/youtube.js +++ b/NUXT/plugins/youtube.js @@ -91,14 +91,30 @@ const innertubeModule = { async getVid(id) { try { return await InnertubeAPI.VidInfoAsync(id); - } catch (error) {} + } catch (error) { + } + }, + + getThumbnail(id, resolution, backupThumbnail) { + if (resolution == "max") { + const url = `https://img.youtube.com/vi/${id}/maxresdefault.jpg`; + let img = new Image(); + img.src = url; + img.onload = function () { + if (img.height !== 120) return url; + }; + } + if (backupThumbnail[backupThumbnail.length - 1]) + return backupThumbnail[backupThumbnail.length - 1].url; + else return `https://img.youtube.com/vi/${id}/mqdefault.jpg`; }, async getChannel(url) { try { const response = await InnertubeAPI.getChannelAsync(url); return response.data; - } catch (error) {} + } catch (error) { + } }, // It just works™ @@ -161,7 +177,8 @@ const innertubeModule = { try { const response = await InnertubeAPI.getSearchAsync(query); return response.contents.sectionListRenderer; - } catch (err) {} + } catch (err) { + } }, async saveApiStats(query, url) {