From 3492485789ae3758f551916b406ed75b3c028021 Mon Sep 17 00:00:00 2001 From: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com> Date: Tue, 21 Mar 2023 21:24:37 -0400 Subject: [PATCH 1/3] Fix channel search --- src/invidious/yt_backend/extractors.cr | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/invidious/yt_backend/extractors.cr b/src/invidious/yt_backend/extractors.cr index b14ad7b9..090944fc 100644 --- a/src/invidious/yt_backend/extractors.cr +++ b/src/invidious/yt_backend/extractors.cr @@ -18,6 +18,7 @@ private ITEM_PARSERS = { Parsers::CategoryRendererParser, Parsers::RichItemRendererParser, Parsers::ReelItemRendererParser, + Parsers::ItemSectionRendererParser, Parsers::ContinuationItemRendererParser, } @@ -377,6 +378,30 @@ private module Parsers end end + # Parses an InnerTube itemSectionRenderer into a SearchVideo. + # Returns nil when the given object isn't a ItemSectionRenderer + # + # A itemSectionRenderer seems to be a simple wrapper for a videoRenderer, used + # by the result page for channel searches. It is located inside a continuationItems + # container.It is very similar to RichItemRendererParser + # + module ItemSectionRendererParser + def self.process(item : JSON::Any, author_fallback : AuthorFallback) + if item_contents = item.dig?("itemSectionRenderer", "contents", 0) + return self.parse(item_contents, author_fallback) + end + end + + private def self.parse(item_contents, author_fallback) + child = VideoRendererParser.process(item_contents, author_fallback) + return child + end + + def self.parser_name + return {{@type.name}} + end + end + # Parses an InnerTube richItemRenderer into a SearchVideo. # Returns nil when the given object isn't a RichItemRenderer # From 1d187bcf176481c5619e275e60ac70a1bee80269 Mon Sep 17 00:00:00 2001 From: Lennart Bernhardt Date: Tue, 28 Mar 2023 10:30:52 +0200 Subject: [PATCH 2/3] fix long description overflow --- assets/css/default.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/assets/css/default.css b/assets/css/default.css index f8b1c9f7..fcc826d1 100644 --- a/assets/css/default.css +++ b/assets/css/default.css @@ -515,6 +515,10 @@ hr { #descexpansionbutton ~ div { overflow: hidden; + height: 8.3em; +} + +#descexpansionbutton:not(:checked) ~ div { max-height: 8.3em; } From f83f0d2561494eff915f32b4c9364e87000f60d5 Mon Sep 17 00:00:00 2001 From: Lennart Bernhardt Date: Tue, 28 Mar 2023 10:33:03 +0200 Subject: [PATCH 3/3] remove fixed height from description --- assets/css/default.css | 1 - 1 file changed, 1 deletion(-) diff --git a/assets/css/default.css b/assets/css/default.css index fcc826d1..88ec6ef1 100644 --- a/assets/css/default.css +++ b/assets/css/default.css @@ -515,7 +515,6 @@ hr { #descexpansionbutton ~ div { overflow: hidden; - height: 8.3em; } #descexpansionbutton:not(:checked) ~ div {