forked from midou/invidious
Add support for default channel banners
This commit is contained in:
parent
556d5b0ca5
commit
48ad744ebf
@ -3565,23 +3565,25 @@ get "/api/v1/channels/:ucid" do |env|
|
||||
|
||||
json.field "authorBanners" do
|
||||
json.array do
|
||||
qualities = {
|
||||
{width: 2560, height: 424},
|
||||
{width: 2120, height: 351},
|
||||
{width: 1060, height: 175},
|
||||
}
|
||||
qualities.each do |quality|
|
||||
json.object do
|
||||
json.field "url", channel.banner.gsub("=w1060", "=w#{quality[:width]}")
|
||||
json.field "width", quality[:width]
|
||||
json.field "height", quality[:height]
|
||||
if channel.banner
|
||||
qualities = {
|
||||
{width: 2560, height: 424},
|
||||
{width: 2120, height: 351},
|
||||
{width: 1060, height: 175},
|
||||
}
|
||||
qualities.each do |quality|
|
||||
json.object do
|
||||
json.field "url", channel.banner.not_nil!.gsub("=w1060", "=w#{quality[:width]}")
|
||||
json.field "width", quality[:width]
|
||||
json.field "height", quality[:height]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
json.object do
|
||||
json.field "url", channel.banner.rchop("=w1060-fcrop64=1,00005a57ffffa5a8-nd-c0xffffffff-rj-k-no")
|
||||
json.field "width", 512
|
||||
json.field "height", 288
|
||||
json.object do
|
||||
json.field "url", channel.banner.not_nil!.rchop("=w1060-fcrop64=1,00005a57ffffa5a8-nd-c0xffffffff-rj-k-no")
|
||||
json.field "width", 512
|
||||
json.field "height", 288
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -3592,7 +3594,7 @@ get "/api/v1/channels/:ucid" do |env|
|
||||
|
||||
qualities.each do |quality|
|
||||
json.object do
|
||||
json.field "url", channel.author_thumbnail.gsub("/s100-", "/s#{quality}-")
|
||||
json.field "url", channel.author_thumbnail.gsub("=s100-", "=s#{quality}-")
|
||||
json.field "width", quality
|
||||
json.field "height", quality
|
||||
end
|
||||
|
@ -114,7 +114,7 @@ struct AboutChannel
|
||||
auto_generated: Bool,
|
||||
author_url: String,
|
||||
author_thumbnail: String,
|
||||
banner: String,
|
||||
banner: String?,
|
||||
description_html: String,
|
||||
paid: Bool,
|
||||
total_views: Int64,
|
||||
@ -654,6 +654,10 @@ def get_about_info(ucid, locale)
|
||||
banner = about.xpath_node(%q(//div[@id="gh-banner"]/style)).not_nil!.content
|
||||
banner = "https:" + banner.match(/background-image: url\((?<url>[^)]+)\)/).not_nil!["url"]
|
||||
|
||||
if banner.includes? "channels/c4/default_banner"
|
||||
banner = nil
|
||||
end
|
||||
|
||||
description_html = about.xpath_node(%q(//div[contains(@class,"about-description")])).try &.to_s || ""
|
||||
|
||||
paid = about.xpath_node(%q(//meta[@itemprop="paid"])).not_nil!["content"] == "True"
|
||||
|
@ -3,13 +3,15 @@
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/feed/channel/<%= channel.ucid %>" />
|
||||
<% end %>
|
||||
|
||||
<div class="h-box">
|
||||
<img style="width:100%" src="/ggpht<%= URI.parse(channel.banner.gsub("=w1060", "=w1280")).full_path %>">
|
||||
</div>
|
||||
<% if channel.banner %>
|
||||
<div class="h-box">
|
||||
<img style="width:100%" src="/ggpht<%= URI.parse(channel.banner.not_nil!.gsub("=w1060", "=w1280")).full_path %>">
|
||||
</div>
|
||||
|
||||
<div class="h-box">
|
||||
<hr>
|
||||
</div>
|
||||
<div class="h-box">
|
||||
<hr>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="pure-g h-box">
|
||||
<div class="pure-u-2-3">
|
||||
|
@ -2,13 +2,15 @@
|
||||
<title><%= channel.author %> - Invidious</title>
|
||||
<% end %>
|
||||
|
||||
<div class="h-box">
|
||||
<img style="width:100%" src="/ggpht<%= URI.parse(channel.banner.gsub("=w1060", "=w1280")).full_path %>">
|
||||
</div>
|
||||
<% if channel.banner %>
|
||||
<div class="h-box">
|
||||
<img style="width:100%" src="/ggpht<%= URI.parse(channel.banner.not_nil!.gsub("=w1060", "=w1280")).full_path %>">
|
||||
</div>
|
||||
|
||||
<div class="h-box">
|
||||
<hr>
|
||||
</div>
|
||||
<div class="h-box">
|
||||
<hr>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="pure-g h-box">
|
||||
<div class="pure-u-2-3">
|
||||
|
Loading…
Reference in New Issue
Block a user