mirror of
https://github.com/iv-org/invidious
synced 2024-11-24 12:03:26 +01:00
Added verification badge to video player and error with related_videos
This commit is contained in:
parent
154bca4635
commit
1fee636afa
@ -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)
|
||||
|
@ -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"]?
|
||||
|
@ -240,7 +240,7 @@ we're going to need to do it here in order to allow for translations.
|
||||
<% if !video.author_thumbnail.empty? %>
|
||||
<img src="/ggpht<%= URI.parse(video.author_thumbnail).request_target %>">
|
||||
<% end %>
|
||||
<span id="channel-name"><%= author %></span>
|
||||
<span id="channel-name"><%= author %><% if video.author_verified %><i class="icon ion ion-md-checkmark-circle"></i><% end %></span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user