diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious/routes/misc.cr | 5 | ||||
| -rw-r--r-- | src/invidious/views/channel.ecr | 6 | ||||
| -rw-r--r-- | src/invidious/views/community.ecr | 6 | ||||
| -rw-r--r-- | src/invidious/views/components/item.ecr | 31 | ||||
| -rw-r--r-- | src/invidious/views/components/video-context-buttons.ecr | 21 | ||||
| -rw-r--r-- | src/invidious/views/playlist.ecr | 13 | ||||
| -rw-r--r-- | src/invidious/views/playlists.ecr | 6 | ||||
| -rw-r--r-- | src/invidious/views/watch.ecr | 8 | ||||
| -rw-r--r-- | src/invidious/yt_backend/connection_pool.cr | 2 |
9 files changed, 57 insertions, 41 deletions
diff --git a/src/invidious/routes/misc.cr b/src/invidious/routes/misc.cr index 0e6356d0..3ea4c272 100644 --- a/src/invidious/routes/misc.cr +++ b/src/invidious/routes/misc.cr @@ -40,11 +40,6 @@ module Invidious::Routes::Misc def self.cross_instance_redirect(env) referer = get_referer(env) - - if !env.get("preferences").as(Preferences).automatic_instance_redirect - return env.redirect("https://redirect.invidious.io#{referer}") - end - instance_url = fetch_random_instance env.redirect "https://#{instance_url}#{referer}" end diff --git a/src/invidious/views/channel.ecr b/src/invidious/views/channel.ecr index 7f797e37..40b553a9 100644 --- a/src/invidious/views/channel.ecr +++ b/src/invidious/views/channel.ecr @@ -45,7 +45,11 @@ <div class="pure-u-1-3"> <a href="https://www.youtube.com/channel/<%= ucid %>"><%= translate(locale, "View channel on YouTube") %></a> <div class="pure-u-1 pure-md-1-3"> - <a href="/redirect?referer=<%= env.get?("current_page") %>"><%= translate(locale, "Switch Invidious Instance") %></a> + <% if env.get("preferences").as(Preferences).automatic_instance_redirect%> + <a href="/redirect?referer=<%= env.get?("current_page") %>"><%= translate(locale, "Switch Invidious Instance") %></a> + <% else %> + <a href="https://redirect.invidious.io<%= env.request.path %>"><%= translate(locale, "Switch Invidious Instance") %></a> + <% end %> </div> <% if !channel.auto_generated %> <div class="pure-u-1 pure-md-1-3"> diff --git a/src/invidious/views/community.ecr b/src/invidious/views/community.ecr index 15d8ed1e..f0add06b 100644 --- a/src/invidious/views/community.ecr +++ b/src/invidious/views/community.ecr @@ -44,7 +44,11 @@ <div class="pure-u-1-3"> <a href="https://www.youtube.com/channel/<%= channel.ucid %>/community"><%= translate(locale, "View channel on YouTube") %></a> <div class="pure-u-1 pure-md-1-3"> - <a href="/redirect?referer=<%= env.get?("current_page") %>"><%= translate(locale, "Switch Invidious Instance") %></a> + <% if env.get("preferences").as(Preferences).automatic_instance_redirect%> + <a href="/redirect?referer=<%= env.get?("current_page") %>"><%= translate(locale, "Switch Invidious Instance") %></a> + <% else %> + <a href="https://redirect.invidious.io<%= env.request.resource %>"><%= translate(locale, "Switch Invidious Instance") %></a> + <% end %> </div> <% if !channel.auto_generated %> <div class="pure-u-1 pure-md-1-3"> diff --git a/src/invidious/views/components/item.ecr b/src/invidious/views/components/item.ecr index 5788bf51..a58571aa 100644 --- a/src/invidious/views/components/item.ecr +++ b/src/invidious/views/components/item.ecr @@ -79,19 +79,8 @@ <div class="flex-left"><a href="/channel/<%= item.ucid %>"> <p class="channel-name" dir="auto"><%= HTML.escape(item.author) %></p> </a></div> - <div class="flex-right"> - <div class="icon-buttons"> - <a title="<%=translate(locale, "Watch on YouTube")%>" href="https://www.youtube.com/watch?v=<%= item.id %>&list=<%= item.plid %>"> - <i class="icon ion-logo-youtube"></i> - </a> - <a title="<%=translate(locale, "Audio mode")%>" href="/watch?v=<%= item.id %>&list=<%= item.plid %>&listen=1"> - <i class="icon ion-md-headset"></i> - </a> - <a title="<%=translate(locale, "Switch Invidious Instance")%>" href="/redirect?referer=<%=URI.encode_www_form("watch?v=#{item.id}&list=#{item.plid}")%>"> - <i class="icon ion-md-jet"></i> - </a> - </div> - </div> + <% endpoint_params = "?v=#{item.id}&list=#{item.plid}" %> + <%= rendered "components/video-context-buttons" %> </div> <div class="video-card-row flexible"> @@ -155,19 +144,9 @@ <div class="flex-left"><a href="/channel/<%= item.ucid %>"> <p class="channel-name" dir="auto"><%= HTML.escape(item.author) %></p> </a></div> - <div class="flex-right"> - <div class="icon-buttons"> - <a title="<%=translate(locale, "Watch on YouTube")%>" href="https://www.youtube.com/watch?v=<%= item.id %>"> - <i class="icon ion-logo-youtube"></i> - </a> - <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?referer=<%=URI.encode_www_form("watch?v=#{item.id}")%>"> - <i class="icon ion-md-jet"></i> - </a> - </div> - </div> + + <% endpoint_params = "?v=#{item.id}" %> + <%= rendered "components/video-context-buttons" %> </div> <div class="video-card-row flexible"> diff --git a/src/invidious/views/components/video-context-buttons.ecr b/src/invidious/views/components/video-context-buttons.ecr new file mode 100644 index 00000000..daa107f0 --- /dev/null +++ b/src/invidious/views/components/video-context-buttons.ecr @@ -0,0 +1,21 @@ +<div class="flex-right"> + <div class="icon-buttons"> + <a title="<%=translate(locale, "Watch on YouTube")%>" href="https://www.youtube.com/watch<%=endpoint_params%>"> + <i class="icon ion-logo-youtube"></i> + </a> + <a title="<%=translate(locale, "Audio mode")%>" href="/watch<%=endpoint_params%>&listen=1"> + <i class="icon ion-md-headset"></i> + </a> + + <% if env.get("preferences").as(Preferences).automatic_instance_redirect%> + <a title="<%=translate(locale, "Switch Invidious Instance")%>" href="/redirect?referer=%2Fwatch<%=URI.encode_www_form(endpoint_params)%>"> + <i class="icon ion-md-jet"></i> + </a> + <% else %> + <a title="<%=translate(locale, "Switch Invidious Instance")%>" href="https://redirect.invidious.io/watch<%=endpoint_params%>"> + <i class="icon ion-md-jet"></i> + </a> + <% end %> + + </div> +</div>
\ No newline at end of file diff --git a/src/invidious/views/playlist.ecr b/src/invidious/views/playlist.ecr index 12f93a72..d0518de7 100644 --- a/src/invidious/views/playlist.ecr +++ b/src/invidious/views/playlist.ecr @@ -41,9 +41,16 @@ <%= translate(locale, "View playlist on YouTube") %> </a> <span> | </span> - <a href="/redirect?referer=<%= env.get?("current_page") %>"> - <%= translate(locale, "Switch Invidious Instance") %> - </a> + + <% if env.get("preferences").as(Preferences).automatic_instance_redirect%> + <a href="/redirect?referer=<%= env.get?("current_page") %>"> + <%= translate(locale, "Switch Invidious Instance") %> + </a> + <% else %> + <a href="https://redirect.invidious.io<%= env.request.resource %>"> + <%= translate(locale, "Switch Invidious Instance") %> + </a> + <% end %> </div> <% end %> </div> diff --git a/src/invidious/views/playlists.ecr b/src/invidious/views/playlists.ecr index 1245256f..12dba088 100644 --- a/src/invidious/views/playlists.ecr +++ b/src/invidious/views/playlists.ecr @@ -47,7 +47,11 @@ </div> <div class="pure-u-1 pure-md-1-3"> - <a href="/redirect?referer=<%= env.get?("current_page") %>"><%= translate(locale, "Switch Invidious Instance") %></a> + <% if env.get("preferences").as(Preferences).automatic_instance_redirect%> + <a href="/redirect?referer=<%= env.get?("current_page") %>"><%= translate(locale, "Switch Invidious Instance") %></a> + <% else %> + <a href="https://redirect.invidious.io<%= env.request.resource %>"><%= translate(locale, "Switch Invidious Instance") %></a> + <% end %> </div> <div class="pure-u-1 pure-md-1-3"> diff --git a/src/invidious/views/watch.ecr b/src/invidious/views/watch.ecr index cad36e73..9cf00393 100644 --- a/src/invidious/views/watch.ecr +++ b/src/invidious/views/watch.ecr @@ -11,7 +11,7 @@ <meta property="og:url" content="<%= HOST_URL %>/watch?v=<%= video.id %>"> <meta property="og:title" content="<%= title %>"> <meta property="og:image" content="/vi/<%= video.id %>/maxres.jpg"> -<meta property="og:description" content="<%= video.short_description %>"> +<meta property="og:description" content="<%= HTML.escape(video.short_description) %>"> <meta property="og:type" content="video.other"> <meta property="og:video:url" content="<%= HOST_URL %>/embed/<%= video.id %>"> <meta property="og:video:secure_url" content="<%= HOST_URL %>/embed/<%= video.id %>"> @@ -22,7 +22,7 @@ <meta name="twitter:site" content="@omarroth1"> <meta name="twitter:url" content="<%= HOST_URL %>/watch?v=<%= video.id %>"> <meta name="twitter:title" content="<%= title %>"> -<meta name="twitter:description" content="<%= video.short_description %>"> +<meta name="twitter:description" content="<%= HTML.escape(video.short_description) %>"> <meta name="twitter:image" content="<%= HOST_URL %>/vi/<%= video.id %>/maxres.jpg"> <meta name="twitter:player" content="<%= HOST_URL %>/embed/<%= video.id %>"> <meta name="twitter:player:width" content="1280"> @@ -116,7 +116,11 @@ 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"> + <% if env.get("preferences").as(Preferences).automatic_instance_redirect%> <a href="/redirect?referer=<%= env.get?("current_page") %>"><%= translate(locale, "Switch Invidious Instance") %></a> + <% else %> + <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, "Embed Link") %></a> diff --git a/src/invidious/yt_backend/connection_pool.cr b/src/invidious/yt_backend/connection_pool.cr index fe7a572d..3feb9233 100644 --- a/src/invidious/yt_backend/connection_pool.cr +++ b/src/invidious/yt_backend/connection_pool.cr @@ -1,5 +1,3 @@ -require "lsquic" - {% unless flag?(:disable_quic) %} require "lsquic" |
