Merge pull request #1710 from mini-bomba/controls-skip-inline-players

Don't attach controls to inline preview players
This commit is contained in:
Ajay Ramachandran 2023-03-31 13:07:12 -04:00 committed by GitHub
commit e1521e9837
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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 <HTMLElement> 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;
}
}
}