diff --git a/extension/src/scripts/content.js b/extension/src/scripts/content.js index 73fd2d9..52b74f8 100644 --- a/extension/src/scripts/content.js +++ b/extension/src/scripts/content.js @@ -111,7 +111,7 @@ async function fetchJson(url) { if (bgData !== undefined && bgData !== null) { return bgData; } - } catch (e) {} + } catch (e) { } // 2. Direct fetch fallback from page try { @@ -121,7 +121,7 @@ async function fetchJson(url) { if (res.ok) { return await res.json(); } - } catch (e) {} + } catch (e) { } return null; } @@ -203,6 +203,13 @@ function bindGlobalPlayerListeners() { globalPlayerListenersBound = true; } +function getThumbnailUrl(url, i = 0) { + let splited = url.split("/") + splited = splited.slice(0, -2) + let result = splited.join("/") + `/thumbnails/thumbnail-sheet-${i}.webp`; + return result +} + function extractMetadataFromDOM(channelSlug, videoSlug) { try { const scripts = document.querySelectorAll('script'); @@ -231,11 +238,11 @@ function extractMetadataFromDOM(channelSlug, videoSlug) { }; } } - } catch (e) {} + } catch (e) { } } } } - } catch (e) {} + } catch (e) { } return null; } @@ -671,6 +678,8 @@ async function unlockVideo(triggerElement) { const finalUrl = streamUrl + (streamUrl.includes('?') ? '&' : '?') + 'kick_ts=' + Date.now(); let videoParent = existingChat ? container : container.querySelector('#unlocker-video-area'); + let firstPageThumbnail = getThumbnailUrl(streamUrl) + // Build Custom Player UI const playerHTML = `