mirror of
https://gitea.invidious.io/iv-org/invidious-copy-2022-04-11.git
synced 2024-08-15 00:43:26 +00:00
Make feat. chan page URL to compatible with yt
This commit is contained in:
parent
e93b7789f7
commit
0863d83574
4 changed files with 25 additions and 16 deletions
|
@ -323,7 +323,6 @@ end
|
||||||
Invidious::Routing.get "/channel/:ucid/playlists", Invidious::Routes::Channels, :playlists
|
Invidious::Routing.get "/channel/:ucid/playlists", Invidious::Routes::Channels, :playlists
|
||||||
Invidious::Routing.get "/channel/:ucid/community", Invidious::Routes::Channels, :community
|
Invidious::Routing.get "/channel/:ucid/community", Invidious::Routes::Channels, :community
|
||||||
Invidious::Routing.get "/channel/:ucid/channels", Invidious::Routes::Channels, :channels
|
Invidious::Routing.get "/channel/:ucid/channels", Invidious::Routes::Channels, :channels
|
||||||
Invidious::Routing.get "/channel/:ucid/channels/:param", Invidious::Routes::Channels, :featured_channel_category
|
|
||||||
Invidious::Routing.get "/channel/:ucid/about", Invidious::Routes::Channels, :about
|
Invidious::Routing.get "/channel/:ucid/about", Invidious::Routes::Channels, :about
|
||||||
|
|
||||||
["", "/videos", "/playlists", "/community", "/about"].each do |path|
|
["", "/videos", "/playlists", "/community", "/about"].each do |path|
|
||||||
|
|
|
@ -235,6 +235,9 @@ class Category
|
||||||
property description_html : String
|
property description_html : String
|
||||||
property badges : Array(Tuple(String, String))?
|
property badges : Array(Tuple(String, String))?
|
||||||
|
|
||||||
|
# Data unique to only specific types of categories.
|
||||||
|
property auxiliary_data : Hash(String, String)
|
||||||
|
|
||||||
def to_json(locale, json : JSON::Builder)
|
def to_json(locale, json : JSON::Builder)
|
||||||
json.object do
|
json.object do
|
||||||
json.field "title", self.title
|
json.field "title", self.title
|
||||||
|
|
|
@ -113,17 +113,22 @@ module Invidious::Routes::Channels
|
||||||
|
|
||||||
# Previous continuation
|
# Previous continuation
|
||||||
previous_continuation = env.params.query["previous"]?
|
previous_continuation = env.params.query["previous"]?
|
||||||
# Category title is not returned when using a continuation token.
|
|
||||||
title = env.params.query["title"]?
|
|
||||||
|
|
||||||
featured_channel_categories = fetch_channel_featured_channels(ucid, channel.tabs["channels"], nil, continuation, title).not_nil!
|
featured_channel_categories = fetch_channel_featured_channels(ucid, channel.tabs["channels"], nil, nil, continuation, current_category_title).not_nil!
|
||||||
|
elsif view && shelf_id
|
||||||
|
offset = env.params.query["offset"]?
|
||||||
|
if offset
|
||||||
|
offset = offset.to_i
|
||||||
|
else
|
||||||
|
offset = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
featured_channel_categories = fetch_channel_featured_channels(ucid, channel.tabs["channels"], view, shelf_id, continuation, current_category_title).not_nil!
|
||||||
else
|
else
|
||||||
previous_continuation = nil
|
previous_continuation = nil
|
||||||
category_param = nil
|
|
||||||
offset = 0
|
offset = 0
|
||||||
title = nil
|
|
||||||
|
|
||||||
featured_channel_categories = fetch_channel_featured_channels(ucid, channel.tabs["channels"], nil, nil).not_nil!
|
featured_channel_categories = fetch_channel_featured_channels(ucid, channel.tabs["channels"], nil, nil, current_category_title).not_nil!
|
||||||
end
|
end
|
||||||
|
|
||||||
templated "channel/featured_channels", buffer_footer: true
|
templated "channel/featured_channels", buffer_footer: true
|
||||||
|
|
|
@ -14,8 +14,9 @@
|
||||||
<details open="">
|
<details open="">
|
||||||
<summary style="display: revert;">
|
<summary style="display: revert;">
|
||||||
<h3 class="category-heading">
|
<h3 class="category-heading">
|
||||||
<% if (category_request_param = category.browse_endpoint_data).is_a?(String) %>
|
<% if category.auxiliary_data.has_key?("view") %>
|
||||||
<a href="/channel/<%=channel.ucid%>/channels/<%=HTML.escape(category_request_param)%>">
|
<% category_url_param = "?view=#{category.auxiliary_data["view"]}&shelf_id=#{category.auxiliary_data["shelf_id"]}" %>
|
||||||
|
<a href="/channel/<%=channel.ucid%>/channels<%=HTML.escape(category_url_param)%>">
|
||||||
<%= category.title %>
|
<%= category.title %>
|
||||||
</a>
|
</a>
|
||||||
<%else%>
|
<%else%>
|
||||||
|
@ -90,14 +91,15 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% if !featured_channel_categories.empty? %>
|
<% if !featured_channel_categories.empty? %>
|
||||||
|
<% base_url = "/channel/#{channel.ucid}/channels?view=#{view}&shelf_id=#{shelf_id}" %>
|
||||||
<div class="pure-g h-box">
|
<div class="pure-g h-box">
|
||||||
<div class="pure-u-1 pure-u-lg-1-5">
|
<div class="pure-u-1 pure-u-lg-1-5">
|
||||||
<% if previous_continuation %>
|
<% if previous_continuation %>
|
||||||
<a href="/channel/<%=channel.ucid%>/channels/<%=category_param%>?continuation=<%=HTML.escape(previous_continuation)%>&offset=<%=offset.not_nil!-1%>&title=<%=HTML.escape(title.not_nil!)%>">
|
<a href="<%= base_url %>&continuation=<%=HTML.escape(previous_continuation)%>&offset=<%=offset.not_nil!-1%>&title=<%=HTML.escape(current_category_title.not_nil!)%>">
|
||||||
<%= translate(locale, "Previous page") %>
|
<%= translate(locale, "Previous page") %>
|
||||||
</a>
|
</a>
|
||||||
<% elsif (offset - 1) == 0 %>
|
<% elsif (offset - 1) == 0 %>
|
||||||
<a href="/channel/<%=channel.ucid%>/channels/<%=category_param%>">
|
<a href="<%= base_url %>">
|
||||||
<%= translate(locale, "Previous page") %>
|
<%= translate(locale, "Previous page") %>
|
||||||
</a>
|
</a>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
@ -105,15 +107,15 @@
|
||||||
<div class="pure-u-1 pure-u-lg-3-5"></div>
|
<div class="pure-u-1 pure-u-lg-3-5"></div>
|
||||||
<div class="pure-u-1 pure-u-lg-1-5" style="text-align:right">
|
<div class="pure-u-1 pure-u-lg-1-5" style="text-align:right">
|
||||||
<% if (next_cont_token = featured_channel_categories[0].continuation_token) %>
|
<% if (next_cont_token = featured_channel_categories[0].continuation_token) %>
|
||||||
<% additional_url_param = ""%>
|
<% previous = ""%>
|
||||||
<% if continuation %>
|
<% if continuation %>
|
||||||
<% additional_url_param = "&previous=#{HTML.escape(continuation)}"%>
|
<% previous = "&previous=#{HTML.escape(continuation)}"%>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if !title %>
|
<% if !current_category_title %>
|
||||||
<% title = featured_channel_categories[0].title %>
|
<% current_category_title = featured_channel_categories[0].title %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<a href="/channel/<%=channel.ucid%>/channels/<%=category_param%>?continuation=<%=HTML.escape(next_cont_token)%>&offset=<%=offset.not_nil!+1%>&title=<%=HTML.escape(title)%><%=additional_url_param%>">
|
<a href="<%= base_url %>&continuation=<%=HTML.escape(next_cont_token)%>&offset=<%=offset.not_nil!+1%>&title=<%=HTML.escape(current_category_title)%><%=previous%>">
|
||||||
<%= translate(locale, "Next page") %>
|
<%= translate(locale, "Next page") %>
|
||||||
</a>
|
</a>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
Loading…
Reference in a new issue