diff options
| author | syeopite <syeopite@syeopite.dev> | 2021-03-28 23:05:54 -0700 |
|---|---|---|
| committer | syeopite <syeopite@syeopite.dev> | 2021-06-19 04:16:18 -0700 |
| commit | f1782974522240cf4016b80a8accba223a8f7922 (patch) | |
| tree | ea72586b4492b68928196a9626748c010385bc24 | |
| parent | 311e7684b280e72d1155a320ef48c75105ab1e5d (diff) | |
| download | invidious-f1782974522240cf4016b80a8accba223a8f7922.tar.gz invidious-f1782974522240cf4016b80a8accba223a8f7922.tar.bz2 invidious-f1782974522240cf4016b80a8accba223a8f7922.zip | |
Generalize redirect route
| -rw-r--r-- | src/invidious/routes/misc.cr | 9 | ||||
| -rw-r--r-- | src/invidious/views/components/item.ecr | 2 | ||||
| -rw-r--r-- | src/invidious/views/search.ecr | 2 | ||||
| -rw-r--r-- | src/invidious/views/watch.ecr | 2 |
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 %>&listen=1"> <i class="icon ion-md-headset"></i> </a> - <a title="<%=translate(locale, "Switch Invidious Instance")%>" href="/redirect?id=<%= item.id %>&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> |
