summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--assets/css/default.css4
-rw-r--r--src/invidious.cr8
-rw-r--r--src/invidious/channels.cr6
-rw-r--r--src/invidious/search.cr2
-rw-r--r--src/invidious/videos.cr2
-rw-r--r--src/invidious/views/channel.ecr4
-rw-r--r--src/invidious/views/community.ecr4
-rw-r--r--src/invidious/views/playlists.ecr4
8 files changed, 25 insertions, 9 deletions
diff --git a/assets/css/default.css b/assets/css/default.css
index 3d27f26b..c527cbca 100644
--- a/assets/css/default.css
+++ b/assets/css/default.css
@@ -159,6 +159,8 @@ img.thumbnail {
}
.navbar > .searchbar .pure-form input[type="search"] {
+ margin-bottom: 1px;
+
border-top: 0;
border-left: 0;
border-right: 0;
@@ -169,7 +171,6 @@ img.thumbnail {
box-shadow: none;
- transition: 0.1s border-bottom;
-webkit-appearance: none;
}
@@ -188,6 +189,7 @@ input[type="search"]::-webkit-search-cancel-button {
/* attract focus to the searchbar by adding a subtle transition */
.navbar > .searchbar .pure-form input[type="search"]:focus {
+ margin-bottom: 0px;
border-bottom: 2px solid #aaa;
}
diff --git a/src/invidious.cr b/src/invidious.cr
index c43af729..c2de0dcf 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -3739,7 +3739,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(/=\d+/, "=s#{quality}")
json.field "width", quality
json.field "height", quality
end
@@ -3781,7 +3781,7 @@ get "/api/v1/channels/:ucid" do |env|
qualities.each do |quality|
json.object do
- json.field "url", related_channel.author_thumbnail.gsub("=s48-", "=s#{quality}-")
+ json.field "url", related_channel.author_thumbnail.gsub(/=\d+/, "=s#{quality}")
json.field "width", quality
json.field "height", quality
end
@@ -4079,7 +4079,7 @@ get "/api/v1/playlists/:plid" do |env|
qualities.each do |quality|
json.object do
- json.field "url", playlist.author_thumbnail.gsub("=s100-", "=s#{quality}-")
+ json.field "url", playlist.author_thumbnail.gsub(/=\d+/, "=s#{quality}")
json.field "width", quality
json.field "height", quality
end
@@ -4493,7 +4493,7 @@ get "/api/manifest/dash/id/:id" do |env|
end
audio_streams = video.audio_streams(adaptive_fmts)
- video_streams = video.video_streams(adaptive_fmts)
+ video_streams = video.video_streams(adaptive_fmts).sort_by { |stream| stream["fps"].to_i }.reverse
XML.build(indent: " ", encoding: "UTF-8") do |xml|
xml.element("MPD", "xmlns": "urn:mpeg:dash:schema:mpd:2011",
diff --git a/src/invidious/channels.cr b/src/invidious/channels.cr
index 988b39f4..5e01cef2 100644
--- a/src/invidious/channels.cr
+++ b/src/invidious/channels.cr
@@ -804,12 +804,13 @@ def fetch_channel_community(ucid, continuation, locale, config, kemal_config, fo
width = thumbnail["width"].as_i
height = thumbnail["height"].as_i
aspect_ratio = (width.to_f / height.to_f)
+ url = thumbnail["url"].as_s.gsub(/=w\d+-h\d+(-p)?(-nd)?(-df)?(-rwa)?/, "=s640")
qualities = {320, 560, 640, 1280, 2000}
qualities.each do |quality|
json.object do
- json.field "url", thumbnail["url"].as_s.gsub("=s640-", "=s#{quality}-")
+ json.field "url", url.gsub(/=s\d+/, "=s#{quality}")
json.field "width", quality
json.field "height", (quality / aspect_ratio).ceil.to_i
end
@@ -957,7 +958,8 @@ def get_about_info(ucid, locale)
banner = nil
end
- description_html = about.xpath_node(%q(//div[contains(@class,"about-description")])).try &.to_s || ""
+ description_html = about.xpath_node(%q(//div[contains(@class,"about-description")])).try &.to_s ||
+ %(<div class="about-description branded-page-box-padding"><pre></pre></div>)
paid = about.xpath_node(%q(//meta[@itemprop="paid"])).not_nil!["content"] == "True"
is_family_friendly = about.xpath_node(%q(//meta[@itemprop="isFamilyFriendly"])).not_nil!["content"] == "True"
diff --git a/src/invidious/search.cr b/src/invidious/search.cr
index 79bfd55a..1d4805bf 100644
--- a/src/invidious/search.cr
+++ b/src/invidious/search.cr
@@ -176,7 +176,7 @@ struct SearchChannel
qualities.each do |quality|
json.object do
- json.field "url", self.author_thumbnail.gsub("=s176-", "=s#{quality}-")
+ json.field "url", self.author_thumbnail.gsub(/=\d+/, "=s#{quality}")
json.field "width", quality
json.field "height", quality
end
diff --git a/src/invidious/videos.cr b/src/invidious/videos.cr
index ea02b938..49ff0494 100644
--- a/src/invidious/videos.cr
+++ b/src/invidious/videos.cr
@@ -319,7 +319,7 @@ struct Video
qualities.each do |quality|
json.object do
- json.field "url", self.author_thumbnail.gsub("=s48-", "=s#{quality}-")
+ json.field "url", self.author_thumbnail.gsub(/=s\d+/, "=s#{quality}")
json.field "width", quality
json.field "height", quality
end
diff --git a/src/invidious/views/channel.ecr b/src/invidious/views/channel.ecr
index 624dbe9c..9e7ec88c 100644
--- a/src/invidious/views/channel.ecr
+++ b/src/invidious/views/channel.ecr
@@ -28,6 +28,10 @@
</div>
<div class="h-box">
+ <p><span style="white-space:pre"><%= XML.parse_html(channel.description_html).xpath_node(%q(.//pre)).try &.content %></span></p>
+</div>
+
+<div class="h-box">
<% ucid = channel.ucid %>
<% author = channel.author %>
<% sub_count_text = number_to_short_text(channel.sub_count) %>
diff --git a/src/invidious/views/community.ecr b/src/invidious/views/community.ecr
index 705d06a8..732ae9bd 100644
--- a/src/invidious/views/community.ecr
+++ b/src/invidious/views/community.ecr
@@ -27,6 +27,10 @@
</div>
<div class="h-box">
+ <p><span style="white-space:pre"><%= XML.parse_html(channel.description_html).xpath_node(%q(.//pre)).try &.content %></span></p>
+</div>
+
+<div class="h-box">
<% ucid = channel.ucid %>
<% author = channel.author %>
<% sub_count_text = number_to_short_text(channel.sub_count) %>
diff --git a/src/invidious/views/playlists.ecr b/src/invidious/views/playlists.ecr
index 1825bb48..216f4475 100644
--- a/src/invidious/views/playlists.ecr
+++ b/src/invidious/views/playlists.ecr
@@ -27,6 +27,10 @@
</div>
<div class="h-box">
+ <p><span style="white-space:pre"><%= XML.parse_html(channel.description_html).xpath_node(%q(.//pre)).try &.content %></span></p>
+</div>
+
+<div class="h-box">
<% ucid = channel.ucid %>
<% author = channel.author %>
<% sub_count_text = number_to_short_text(channel.sub_count) %>