From 1ef6c1977facd3085942ab941b545d807da3f4bd Mon Sep 17 00:00:00 2001 From: mini-bomba <55105495+mini-bomba@users.noreply.github.com> Date: Fri, 24 Mar 2023 23:42:09 +0100 Subject: [PATCH] Don't attach controls to inline preview players Co-authored-by: Ajay --- src/utils/pageUtils.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/utils/pageUtils.ts b/src/utils/pageUtils.ts index 5462fde4..38bf4748 100644 --- a/src/utils/pageUtils.ts +++ b/src/utils/pageUtils.ts @@ -14,9 +14,9 @@ export function getControls(): HTMLElement { ]; for (const controlsSelector of controlsSelectors) { - const controls = document.querySelectorAll(controlsSelector); + const controls = Array.from(document.querySelectorAll(controlsSelector)).filter(el => !isInPreviewPlayer(el)); - if (controls && controls.length > 0) { + if (controls.length > 0) { return controls[controls.length - 1]; } } @@ -24,6 +24,10 @@ export function getControls(): HTMLElement { return null; } +export function isInPreviewPlayer(element: Element): boolean { + return !!element.closest("#inline-preview-player"); +} + export function isVisible(element: HTMLElement): boolean { return element && element.offsetWidth > 0 && element.offsetHeight > 0; } @@ -65,12 +69,12 @@ export function getExistingChapters(currentVideoID: VideoID, duration: number): if (timeElement && description?.innerText?.length > 0 && link.getAttribute("href")?.includes(currentVideoID)) { const time = getFormattedTimeToSeconds(timeElement.innerText.replace(".", ":")); if (time === null) return []; - + if (lastSegment) { lastSegment.segment[1] = time; chapters.push(lastSegment); } - + lastSegment = { segment: [time, null], category: "chapter" as Category, @@ -112,4 +116,4 @@ export function getLocalizedMessage(text: string): string | false { } else { return false; } -} \ No newline at end of file +}