diff options
| author | TheFrenchGhosty <47571719+TheFrenchGhosty@users.noreply.github.com> | 2020-12-08 21:30:13 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-08 21:30:13 +0000 |
| commit | 5e8856e65b2121ee6cbef780cfa01e25309c674a (patch) | |
| tree | 9afd60e57b6ed4c646aad806945b221770408de2 | |
| parent | 28ca5b2b57fad510ed3f877bb6662b095e3c41c1 (diff) | |
| parent | d42539949e9fe76df146c540d9c3c173fb8d61d4 (diff) | |
| download | invidious-5e8856e65b2121ee6cbef780cfa01e25309c674a.tar.gz invidious-5e8856e65b2121ee6cbef780cfa01e25309c674a.tar.bz2 invidious-5e8856e65b2121ee6cbef780cfa01e25309c674a.zip | |
Merge pull request #1551 from saltycrys/add-embed-link
Add embed link to watch page
| -rw-r--r-- | assets/js/embed.js | 9 | ||||
| -rw-r--r-- | assets/js/watch.js | 9 | ||||
| -rw-r--r-- | src/invidious/routes/watch.cr | 8 | ||||
| -rw-r--r-- | src/invidious/views/watch.ecr | 4 |
4 files changed, 22 insertions, 8 deletions
diff --git a/assets/js/embed.js b/assets/js/embed.js index 99d2fc53..9d0be0ea 100644 --- a/assets/js/embed.js +++ b/assets/js/embed.js @@ -31,6 +31,11 @@ function get_playlist(plid, retries) { player.on('ended', function () { var url = new URL('https://example.com/embed/' + xhr.response.nextVideo); + url.searchParams.set('list', plid); + if (!plid.startsWith('RD')) { + url.searchParams.set('index', xhr.response.index); + } + if (video_data.params.autoplay || video_data.params.continue_autoplay) { url.searchParams.set('autoplay', '1'); } @@ -47,10 +52,6 @@ function get_playlist(plid, retries) { url.searchParams.set('local', video_data.params.local); } - url.searchParams.set('list', plid); - if (!plid.startsWith('RD')) { - url.searchParams.set('index', xhr.response.index); - } location.assign(url.pathname + url.search); }); } diff --git a/assets/js/watch.js b/assets/js/watch.js index e9ad2ddc..05530f3d 100644 --- a/assets/js/watch.js +++ b/assets/js/watch.js @@ -154,6 +154,11 @@ function get_playlist(plid, retries) { player.on('ended', function () { var url = new URL('https://example.com/watch?v=' + xhr.response.nextVideo); + url.searchParams.set('list', plid); + if (!plid.startsWith('RD')) { + url.searchParams.set('index', xhr.response.index); + } + if (video_data.params.autoplay || video_data.params.continue_autoplay) { url.searchParams.set('autoplay', '1'); } @@ -170,10 +175,6 @@ function get_playlist(plid, retries) { url.searchParams.set('local', video_data.params.local); } - url.searchParams.set('list', plid); - if (!plid.startsWith('RD')) { - url.searchParams.set('index', xhr.response.index); - } location.assign(url.pathname + url.search); }); } diff --git a/src/invidious/routes/watch.cr b/src/invidious/routes/watch.cr index 7018d0a4..9c3ef755 100644 --- a/src/invidious/routes/watch.cr +++ b/src/invidious/routes/watch.cr @@ -28,6 +28,14 @@ class Invidious::Routes::Watch < Invidious::Routes::BaseRoute return env.redirect "/" end + embed_link = "/embed/#{id}" + if env.params.query.size > 1 + embed_params = env.params.query.dup + embed_params.delete_all("v") + embed_link += "?" + embed_link += embed_params.to_s + end + plid = env.params.query["list"]?.try &.gsub(/[^a-zA-Z0-9_-]/, "") continuation = process_continuation(PG_DB, env.params.query, plid, id) diff --git a/src/invidious/views/watch.ecr b/src/invidious/views/watch.ecr index 9a1e6c32..786a88b6 100644 --- a/src/invidious/views/watch.ecr +++ b/src/invidious/views/watch.ecr @@ -88,7 +88,11 @@ <div class="h-box"> <span id="watch-on-youtube"> <a href="https://www.youtube.com/watch?v=<%= video.id %>"><%= translate(locale, "Watch on YouTube") %></a> + (<a href="https://www.youtube.com/embed/<%= video.id %>"><%= translate(locale, "Embed") %></a>) </span> + <p id="embed-link"> + <a href="<%= embed_link %>"><%= translate(locale, "Embed Link") %></a> + </p> <p id="annotations"> <% if params.annotations %> <a href="/watch?<%= env.params.query %>&iv_load_policy=3"> |
