summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--assets/js/player.js15
-rw-r--r--src/invidious/routes/watch.cr8
-rw-r--r--src/invidious/views/watch.ecr12
3 files changed, 20 insertions, 15 deletions
diff --git a/assets/js/player.js b/assets/js/player.js
index cd0e7a72..d07d6cf4 100644
--- a/assets/js/player.js
+++ b/assets/js/player.js
@@ -116,14 +116,17 @@ function addCurrentTimeToURL(url) {
* Timer that updates the timestamp on "watch on youtube" and "embed" links
*/
player.ready(function () {
- let elem_watch = document.getElementById('link-yt-watch');
- let elem_embed = document.getElementById('link-yt-embed');
+ let elem_yt_watch = document.getElementById('link-yt-watch');
+ let elem_yt_embed = document.getElementById('link-yt-embed');
+ let elem_iv_embed = document.getElementById('link-iv-embed');
- let base_url_watch = elem_watch.getAttribute('data-base-url');
- let base_url_embed = elem_embed.getAttribute('data-base-url');
+ let base_url_yt_watch = elem_yt_watch.getAttribute('data-base-url');
+ let base_url_yt_embed = elem_yt_embed.getAttribute('data-base-url');
+ let base_url_iv_embed = elem_iv_embed.getAttribute('data-base-url');
- setTimeout(() => { elem_watch.setAttribute('href') = addCurrentTimeToURL(base_url_watch); }, 5000);
- setTimeout(() => { elem_embed.setAttribute('href') = addCurrentTimeToURL(base_url_embed); }, 5000);
+ setTimeout(() => { elem_yt_watch.setAttribute('href') = addCurrentTimeToURL(base_url_yt_watch); }, 5000);
+ setTimeout(() => { elem_yt_embed.setAttribute('href') = addCurrentTimeToURL(base_url_yt_embed); }, 5000);
+ setTimeout(() => { elem_iv_embed.setAttribute('href') = addCurrentTimeToURL(base_url_iv_embed); }, 5000);
});
diff --git a/src/invidious/routes/watch.cr b/src/invidious/routes/watch.cr
index e5cf3716..3d935f0a 100644
--- a/src/invidious/routes/watch.cr
+++ b/src/invidious/routes/watch.cr
@@ -30,14 +30,6 @@ module Invidious::Routes::Watch
return env.redirect "/"
end
- embed_link = "/embed/#{id}"
- if env.params.query.size > 1
- embed_params = HTTP::Params.parse(env.params.query.to_s)
- 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(env.params.query, plid, id)
diff --git a/src/invidious/views/watch.ecr b/src/invidious/views/watch.ecr
index ac3fee65..a768328a 100644
--- a/src/invidious/views/watch.ecr
+++ b/src/invidious/views/watch.ecr
@@ -125,6 +125,7 @@ we're going to need to do it here in order to allow for translations.
<a id="link-yt-watch" data-base-url="<%= link_yt_watch %>" href="<%= link_yt_watch %>"><%= translate(locale, "videoinfo_watch_on_youTube") %></a>
(<a id="link-yt-embed" data-base-url="<%= link_yt_embed %>" href="<%= link_yt_embed %>"><%= translate(locale, "videoinfo_youTube_embed_link") %></a>)
</span>
+
<p id="watch-on-another-invidious-instance">
<% if env.get("preferences").as(Preferences).automatic_instance_redirect%>
<a href="/redirect?referer=<%= env.get?("current_page") %>"><%= translate(locale, "Switch Invidious Instance") %></a>
@@ -132,9 +133,18 @@ we're going to need to do it here in order to allow for translations.
<a href="https://redirect.invidious.io<%= env.request.resource %>"><%= translate(locale, "Switch Invidious Instance") %></a>
<% end %>
</p>
+
<p id="embed-link">
- <a href="<%= embed_link %>"><%= translate(locale, "videoinfo_invidious_embed_link") %></a>
+ <%-
+ params_iv_embed = env.params.query.dup
+ params_iv_embed.delete_all("v")
+
+ link_iv_embed = URI.new(path: "/embed/#{id}")
+ link_iv_embed = IV::HttpServer::Utils.add_params_to_url(link_iv_embed, params_iv_embed)
+ -%>
+ <a id="link-iv-embed" data-base-url="<%= link_iv_embed %>" href="<%= link_iv_embed %>"><%= translate(locale, "videoinfo_invidious_embed_link") %></a>
</p>
+
<p id="annotations">
<% if params.annotations %>
<a href="/watch?<%= env.params.query %>&iv_load_policy=3">