about summary refs log tree commit diff
path: root/src/lib/strings/embed-player.ts
diff options
context:
space:
mode:
authorMary <148872143+mary-ext@users.noreply.github.com>2024-01-19 12:25:57 +0700
committerGitHub <noreply@github.com>2024-01-18 21:25:57 -0800
commit4bd95b5ef24506edf9d6690d3f12f4afc05afca1 (patch)
tree21d8c99fa8e62e014ce8e8f338536105f21c63f9 /src/lib/strings/embed-player.ts
parent0dfe740dd3c2cbda4c7bd27513807752fad636f3 (diff)
downloadvoidsky-4bd95b5ef24506edf9d6690d3f12f4afc05afca1.tar.zst
Set start time on YouTube embeds (#2565)
* fix: set start time on yt embeds

* fix: re-encode to be on the safe side

* chore: fix embed tests
Diffstat (limited to 'src/lib/strings/embed-player.ts')
-rw-r--r--src/lib/strings/embed-player.ts6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/strings/embed-player.ts b/src/lib/strings/embed-player.ts
index 0f97eb080..3270b6f07 100644
--- a/src/lib/strings/embed-player.ts
+++ b/src/lib/strings/embed-player.ts
@@ -68,11 +68,12 @@ export function parseEmbedPlayerFromUrl(
   // youtube
   if (urlp.hostname === 'youtu.be') {
     const videoId = urlp.pathname.split('/')[1]
+    const seek = encodeURIComponent(urlp.searchParams.get('t') ?? 0)
     if (videoId) {
       return {
         type: 'youtube_video',
         source: 'youtube',
-        playerUri: `https://www.youtube.com/embed/${videoId}?autoplay=1&playsinline=1`,
+        playerUri: `https://www.youtube.com/embed/${videoId}?autoplay=1&playsinline=1&start=${seek}`,
       }
     }
   }
@@ -84,13 +85,14 @@ export function parseEmbedPlayerFromUrl(
     const [_, page, shortVideoId] = urlp.pathname.split('/')
     const videoId =
       page === 'shorts' ? shortVideoId : (urlp.searchParams.get('v') as string)
+    const seek = encodeURIComponent(urlp.searchParams.get('t') ?? 0)
 
     if (videoId) {
       return {
         type: page === 'shorts' ? 'youtube_short' : 'youtube_video',
         source: page === 'shorts' ? 'youtubeShorts' : 'youtube',
         hideDetails: page === 'shorts' ? true : undefined,
-        playerUri: `https://www.youtube.com/embed/${videoId}?autoplay=1&playsinline=1`,
+        playerUri: `https://www.youtube.com/embed/${videoId}?autoplay=1&playsinline=1&start=${seek}`,
       }
     }
   }