summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/invidious/routes/misc.cr9
-rw-r--r--src/invidious/views/components/item.ecr2
-rw-r--r--src/invidious/views/search.ecr2
-rw-r--r--src/invidious/views/watch.ecr2
4 files changed, 5 insertions, 10 deletions
diff --git a/src/invidious/routes/misc.cr b/src/invidious/routes/misc.cr
index c14e0e54..13fc65bb 100644
--- a/src/invidious/routes/misc.cr
+++ b/src/invidious/routes/misc.cr
@@ -38,12 +38,7 @@ class Invidious::Routes::Misc < Invidious::Routes::BaseRoute
def cross_instance_redirect(env)
instance_url = fetch_random_instance
- if env.params.query["id"]?
- id = env.params.query["id"]
- env.redirect "https://#{instance_url}/watch?v=#{id}"
- elsif env.params.query["q"]?
- query, page = env.params.query["q"], env.params.query["page"]
- env.redirect "https://#{instance_url}/search?q=#{query}&page=#{page}"
- end
+ referer = get_referer(env)
+ env.redirect "https://#{instance_url}#{referer}"
end
end
diff --git a/src/invidious/views/components/item.ecr b/src/invidious/views/components/item.ecr
index 0e379e8e..532de6ac 100644
--- a/src/invidious/views/components/item.ecr
+++ b/src/invidious/views/components/item.ecr
@@ -148,7 +148,7 @@
<a title="<%=translate(locale, "Audio mode")%>" href="/watch?v=<%= item.id %>&amp;listen=1">
<i class="icon ion-md-headset"></i>
</a>
- <a title="<%=translate(locale, "Switch Invidious Instance")%>" href="/redirect?id=<%= item.id %>&amp;listen=1">
+ <a title="<%=translate(locale, "Switch Invidious Instance")%>" href="/redirect?referer=<%= env.get?("current_page") %>">
<i class="icon ion-md-jet"></i>
</a>
</div>
diff --git a/src/invidious/views/search.ecr b/src/invidious/views/search.ecr
index fdb9205c..db0a8d56 100644
--- a/src/invidious/views/search.ecr
+++ b/src/invidious/views/search.ecr
@@ -5,7 +5,7 @@
<!-- Search redirection and filtering UI -->
<% if count == 0 %>
<h3 style="text-align: center">
- <%= translate(locale, "Broken?") %> <a href="/redirect?q=<%= HTML.escape(query.not_nil!) %>&page=<%= page + 1 %>"><%= translate(locale, "Switch Invidious Instance") %></a>
+ <%= translate(locale, "Broken?") %> <a href="/redirect?referer=<%= env.get?("current_page") %>"><%= translate(locale, "Switch Invidious Instance") %></a>
</h3>
<% else %>
<details id="filters">
diff --git a/src/invidious/views/watch.ecr b/src/invidious/views/watch.ecr
index 6bb59d20..91e03725 100644
--- a/src/invidious/views/watch.ecr
+++ b/src/invidious/views/watch.ecr
@@ -110,7 +110,7 @@ we're going to need to do it here in order to allow for translations.
(<a href="https://www.youtube.com/embed/<%= video.id %>"><%= translate(locale, "Embed") %></a>)
</span>
<p id="watch-on-another-invidious-instance">
- <a href="/redirect?id=<%= video.id %>"><%= translate(locale, "Switch Invidious Instance") %></a>
+ <a href="/redirect?referer=<%= env.get?("current_page") %>"><%= translate(locale, "Switch Invidious Instance") %></a>
</p>
<p id="embed-link">
<a href="<%= embed_link %>"><%= translate(locale, "Embed Link") %></a>