From ad7d3a320b338069f8ab356676fb529e56ba1f46 Mon Sep 17 00:00:00 2001 From: Ajay Date: Wed, 23 Oct 2024 20:14:37 -0400 Subject: Update for new related videos layout --- maze-utils | 2 +- src/utils/thumbnails.ts | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/maze-utils b/maze-utils index f12ac4f5..b7cc06c9 160000 --- a/maze-utils +++ b/maze-utils @@ -1 +1 @@ -Subproject commit f12ac4f5f8c0dd073426a413568bcdd58ccbf8ef +Subproject commit b7cc06c9d5f95db346984c38c346eba7e83e5d58 diff --git a/src/utils/thumbnails.ts b/src/utils/thumbnails.ts index 0fb2579e..68ad8169 100644 --- a/src/utils/thumbnails.ts +++ b/src/utils/thumbnails.ts @@ -64,8 +64,18 @@ function thumbnailHoverListener(e: MouseEvent) { } } +function getLink(thumbnail: HTMLImageElement): HTMLAnchorElement | null { + if (isOnInvidious()) { + return thumbnail.parentElement as HTMLAnchorElement | null; + } else if (thumbnail.nodeName.toLowerCase() === "yt-thumbnail-view-model") { + return thumbnail.closest("yt-lockup-view-model")?.querySelector("a.yt-lockup-metadata-view-model-wiz__title"); + } else { + return thumbnail.querySelector("#thumbnail"); + } +} + function extractVideoID(thumbnail: HTMLImageElement): VideoID | null { - const link = (isOnInvidious() ? thumbnail.parentElement : thumbnail.querySelector("#thumbnail")) as HTMLAnchorElement + const link = getLink(thumbnail); if (!link || link.nodeName !== "A" || !link.href) return null; // no link found return parseYouTubeVideoIDFromURL(link.href)?.videoID; -- cgit v1.2.3