diff --git a/src/invidious/channels/about.cr b/src/invidious/channels/about.cr
index f92681a70..6114e8af0 100644
--- a/src/invidious/channels/about.cr
+++ b/src/invidious/channels/about.cr
@@ -63,7 +63,7 @@ def get_about_info(ucid, locale) : AboutChannel
author_thumbnail = initdata["metadata"]["channelMetadataRenderer"]["avatar"]["thumbnails"][0]["url"].as_s
ucid = initdata["metadata"]["channelMetadataRenderer"]["externalId"].as_s
-
+
# Raises a KeyError on failure.
banners = initdata["header"]["c4TabbedHeaderRenderer"]?.try &.["banner"]?.try &.["thumbnails"]?
banner = banners.try &.[-1]?.try &.["url"].as_s?
@@ -73,7 +73,7 @@ def get_about_info(ucid, locale) : AboutChannel
# end
badges = initdata["header"]["c4TabbedHeaderRenderer"]?.try &.["badges"]?
if !badges.nil?
- verified=true
+ verified = true
end
description = initdata["metadata"]["channelMetadataRenderer"]?.try &.["description"]?.try &.as_s? || ""
description_html = HTML.escape(description)
diff --git a/src/invidious/videos.cr b/src/invidious/videos.cr
index 446e8e033..a5ecdeeac 100644
--- a/src/invidious/videos.cr
+++ b/src/invidious/videos.cr
@@ -570,6 +570,10 @@ struct Video
info["authorThumbnail"]?.try &.as_s || ""
end
+ def author_verified : Bool
+ info["authorVerified"].as_bool
+ end
+
def sub_count_text : String
info["subCountText"]?.try &.as_s || "-"
end
@@ -822,6 +826,7 @@ def parse_related_video(related : JSON::Any) : Hash(String, JSON::Any)?
.try &.dig?("runs", 0)
author = channel_info.try &.dig?("text")
+ authorVerified = channel_info.try &.dig?("ownerBadges") != nil
ucid = channel_info.try { |ci| HelperExtractors.get_browse_id(ci) }
# "4,088,033 views", only available on compact renderer
@@ -845,6 +850,7 @@ def parse_related_video(related : JSON::Any) : Hash(String, JSON::Any)?
"length_seconds" => JSON::Any.new(length || "0"),
"view_count" => JSON::Any.new(view_count || "0"),
"short_view_count" => JSON::Any.new(short_view_count || "0"),
+ "author_verified" => JSON::Any.new(authorVerified),
}
end
@@ -1037,7 +1043,7 @@ def extract_video_info(video_id : String, proxy_region : String? = nil, context_
author_info = video_secondary_renderer.try &.dig?("owner", "videoOwnerRenderer")
author_thumbnail = author_info.try &.dig?("thumbnail", "thumbnails", 0, "url")
-
+ params["authorVerified"] = JSON::Any.new(author_info.try &.["badges"]? != nil)
params["authorThumbnail"] = JSON::Any.new(author_thumbnail.try &.as_s || "")
params["subCountText"] = JSON::Any.new(author_info.try &.["subscriberCountText"]?
diff --git a/src/invidious/views/watch.ecr b/src/invidious/views/watch.ecr
index 2e0aee998..8422fce0f 100644
--- a/src/invidious/views/watch.ecr
+++ b/src/invidious/views/watch.ecr
@@ -240,7 +240,7 @@ we're going to need to do it here in order to allow for translations.
<% if !video.author_thumbnail.empty? %>
<% end %>
- <%= author %>
+ <%= author %><% if video.author_verified %><% end %>