mirror of
				https://gitea.invidious.io/iv-org/invidious
				synced 2025-06-05 23:29:12 +02:00 
			
		
		
		
	Merge pull request #1881 from SamantazFox/fix-descriptions
Fix video/playlist descriptions
This commit is contained in:
		| @@ -488,8 +488,12 @@ def replace_links(html) | |||||||
|         length_seconds = decode_time(anchor.content) |         length_seconds = decode_time(anchor.content) | ||||||
|       end |       end | ||||||
|  |  | ||||||
|       anchor["href"] = "javascript:void(0)" |       if length_seconds > 0 | ||||||
|       anchor["onclick"] = "player.currentTime(#{length_seconds})" |         anchor["href"] = "javascript:void(0)" | ||||||
|  |         anchor["onclick"] = "player.currentTime(#{length_seconds})" | ||||||
|  |       else | ||||||
|  |         anchor["href"] = url.request_target | ||||||
|  |       end | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
| @@ -528,11 +532,7 @@ end | |||||||
|  |  | ||||||
| def content_to_comment_html(content) | def content_to_comment_html(content) | ||||||
|   comment_html = content.map do |run| |   comment_html = content.map do |run| | ||||||
|     text = HTML.escape(run["text"].as_s) |     text = HTML.escape(run["text"].as_s).gsub("\n", "<br>") | ||||||
|  |  | ||||||
|     if run["text"] == "\n" |  | ||||||
|       text = "<br>" |  | ||||||
|     end |  | ||||||
|  |  | ||||||
|     if run["bold"]? |     if run["bold"]? | ||||||
|       text = "<b>#{text}</b>" |       text = "<b>#{text}</b>" | ||||||
| @@ -559,7 +559,7 @@ def content_to_comment_html(content) | |||||||
|         length_seconds = watch_endpoint["startTimeSeconds"]? |         length_seconds = watch_endpoint["startTimeSeconds"]? | ||||||
|         video_id = watch_endpoint["videoId"].as_s |         video_id = watch_endpoint["videoId"].as_s | ||||||
|  |  | ||||||
|         if length_seconds |         if length_seconds && length_seconds.as_i > 0 | ||||||
|           text = %(<a href="javascript:void(0)" data-onclick="jump_to_time" data-jump-time="#{length_seconds}">#{text}</a>) |           text = %(<a href="javascript:void(0)" data-onclick="jump_to_time" data-jump-time="#{length_seconds}">#{text}</a>) | ||||||
|         else |         else | ||||||
|           text = %(<a href="/watch?v=#{video_id}">#{text}</a>) |           text = %(<a href="/watch?v=#{video_id}">#{text}</a>) | ||||||
|   | |||||||
| @@ -101,6 +101,7 @@ struct Playlist | |||||||
|   property author_thumbnail : String |   property author_thumbnail : String | ||||||
|   property ucid : String |   property ucid : String | ||||||
|   property description : String |   property description : String | ||||||
|  |   property description_html : String | ||||||
|   property video_count : Int32 |   property video_count : Int32 | ||||||
|   property views : Int64 |   property views : Int64 | ||||||
|   property updated : Time |   property updated : Time | ||||||
| @@ -163,10 +164,6 @@ struct Playlist | |||||||
|   def privacy |   def privacy | ||||||
|     PlaylistPrivacy::Public |     PlaylistPrivacy::Public | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   def description_html |  | ||||||
|     HTML.escape(self.description).gsub("\n", "<br>") |  | ||||||
|   end |  | ||||||
| end | end | ||||||
|  |  | ||||||
| enum PlaylistPrivacy | enum PlaylistPrivacy | ||||||
| @@ -375,7 +372,12 @@ def fetch_playlist(plid, locale) | |||||||
|   title = playlist_info["title"]?.try &.["runs"][0]?.try &.["text"]?.try &.as_s || "" |   title = playlist_info["title"]?.try &.["runs"][0]?.try &.["text"]?.try &.as_s || "" | ||||||
|  |  | ||||||
|   desc_item = playlist_info["description"]? |   desc_item = playlist_info["description"]? | ||||||
|   description = desc_item.try &.["runs"]?.try &.as_a.map(&.["text"].as_s).join("") || desc_item.try &.["simpleText"]?.try &.as_s || "" |  | ||||||
|  |   description_txt = desc_item.try &.["runs"]?.try &.as_a | ||||||
|  |     .map(&.["text"].as_s).join("") || desc_item.try &.["simpleText"]?.try &.as_s || "" | ||||||
|  |  | ||||||
|  |   description_html = desc_item.try &.["runs"]?.try &.as_a | ||||||
|  |     .try { |run| content_to_comment_html(run).try &.to_s } || "<p></p>" | ||||||
|  |  | ||||||
|   thumbnail = playlist_info["thumbnailRenderer"]?.try &.["playlistVideoThumbnailRenderer"]? |   thumbnail = playlist_info["thumbnailRenderer"]?.try &.["playlistVideoThumbnailRenderer"]? | ||||||
|     .try &.["thumbnail"]["thumbnails"][0]["url"]?.try &.as_s |     .try &.["thumbnail"]["thumbnails"][0]["url"]?.try &.as_s | ||||||
| @@ -415,7 +417,8 @@ def fetch_playlist(plid, locale) | |||||||
|     author:           author, |     author:           author, | ||||||
|     author_thumbnail: author_thumbnail, |     author_thumbnail: author_thumbnail, | ||||||
|     ucid:             ucid, |     ucid:             ucid, | ||||||
|     description:      description, |     description:      description_txt, | ||||||
|  |     description_html: description_html, | ||||||
|     video_count:      video_count, |     video_count:      video_count, | ||||||
|     views:            views, |     views:            views, | ||||||
|     updated:          updated, |     updated:          updated, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user