mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-30 22:18:59 -04:00 
			
		
		
		
	Added verification badge to video player and error with related_videos
This commit is contained in:
		
							parent
							
								
									154bca4635
								
							
						
					
					
						commit
						1fee636afa
					
				
					 3 changed files with 10 additions and 4 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 jonas-w
						jonas-w