Merge pull request #2508 from syeopite/lazy-load-images
Lazy load (some) images
This commit is contained in:
		| @@ -329,7 +329,7 @@ def template_youtube_comments(comments, locale, thin_mode, is_replies = false) | ||||
|       html << <<-END_HTML | ||||
|       <div class="pure-g" style="width:100%"> | ||||
|         <div class="channel-profile pure-u-4-24 pure-u-md-2-24"> | ||||
|           <img style="margin-right:1em;margin-top:1em;width:90%" src="#{author_thumbnail}"> | ||||
|           <img loading="lazy" style="margin-right:1em;margin-top:1em;width:90%" src="#{author_thumbnail}"> | ||||
|         </div> | ||||
|         <div class="pure-u-20-24 pure-u-md-22-24"> | ||||
|           <p> | ||||
| @@ -349,7 +349,7 @@ def template_youtube_comments(comments, locale, thin_mode, is_replies = false) | ||||
|           html << <<-END_HTML | ||||
|           <div class="pure-g"> | ||||
|             <div class="pure-u-1 pure-u-md-1-2"> | ||||
|               <img style="width:100%" src="/ggpht#{URI.parse(attachment["url"].as_s).request_target}"> | ||||
|               <img loading="lazy" style="width:100%" src="/ggpht#{URI.parse(attachment["url"].as_s).request_target}"> | ||||
|             </div> | ||||
|           </div> | ||||
|           END_HTML | ||||
| @@ -410,7 +410,7 @@ def template_youtube_comments(comments, locale, thin_mode, is_replies = false) | ||||
|         html << <<-END_HTML | ||||
|           <span class="creator-heart-container" title="#{translate(locale, "`x` marked it with a ❤", child["creatorHeart"]["creatorName"].as_s)}"> | ||||
|               <div class="creator-heart"> | ||||
|                   <img class="creator-heart-background-hearted" src="#{creator_thumbnail}"></img> | ||||
|                   <img loading="lazy" class="creator-heart-background-hearted" src="#{creator_thumbnail}"></img> | ||||
|                   <div class="creator-heart-small-hearted"> | ||||
|                       <div class="icon ion-ios-heart creator-heart-small-container"></div> | ||||
|                   </div> | ||||
|   | ||||
| @@ -97,7 +97,7 @@ def template_mix(mix) | ||||
|       <li class="pure-menu-item"> | ||||
|         <a href="/watch?v=#{video["videoId"]}&list=#{mix["mixId"]}"> | ||||
|           <div class="thumbnail"> | ||||
|               <img class="thumbnail" src="/vi/#{video["videoId"]}/mqdefault.jpg"> | ||||
|               <img loading="lazy" class="thumbnail" src="/vi/#{video["videoId"]}/mqdefault.jpg"> | ||||
|               <p class="length">#{recode_length_seconds(video["lengthSeconds"].as_i)}</p> | ||||
|           </div> | ||||
|           <p style="width:100%">#{video["title"]}</p> | ||||
|   | ||||
| @@ -535,7 +535,7 @@ def template_playlist(playlist) | ||||
|       <li class="pure-menu-item" id="#{video["videoId"]}"> | ||||
|         <a href="/watch?v=#{video["videoId"]}&list=#{playlist["playlistId"]}&index=#{video["index"]}"> | ||||
|           <div class="thumbnail"> | ||||
|               <img class="thumbnail" src="/vi/#{video["videoId"]}/mqdefault.jpg"> | ||||
|               <img loading="lazy" class="thumbnail" src="/vi/#{video["videoId"]}/mqdefault.jpg"> | ||||
|               <p class="length">#{recode_length_seconds(video["lengthSeconds"].as_i)}</p> | ||||
|           </div> | ||||
|           <p style="width:100%">#{video["title"]}</p> | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
|             <a href="/channel/<%= item.ucid %>"> | ||||
|                 <% if !env.get("preferences").as(Preferences).thin_mode %> | ||||
|                     <center> | ||||
|                         <img style="width:56.25%" src="/ggpht<%= URI.parse(item.author_thumbnail).request_target.gsub(/=s\d+/, "=s176") %>"/> | ||||
|                         <img loading="lazy" style="width:56.25%" src="/ggpht<%= URI.parse(item.author_thumbnail).request_target.gsub(/=s\d+/, "=s176") %>"/> | ||||
|                     </center> | ||||
|                 <% end %> | ||||
|                 <p dir="auto"><%= HTML.escape(item.author) %></p> | ||||
| @@ -23,7 +23,7 @@ | ||||
|             <a style="width:100%" href="<%= url %>"> | ||||
|                 <% if !env.get("preferences").as(Preferences).thin_mode %> | ||||
|                     <div class="thumbnail"> | ||||
|                         <img class="thumbnail" src="<%= URI.parse(item.thumbnail || "/").request_target %>"/> | ||||
|                         <img loading="lazy" class="thumbnail" src="<%= URI.parse(item.thumbnail || "/").request_target %>"/> | ||||
|                         <p class="length"><%= number_with_separator(item.video_count) %> videos</p> | ||||
|                     </div> | ||||
|                 <% end %> | ||||
| @@ -36,7 +36,7 @@ | ||||
|             <a href="/watch?v=<%= item.id %>&list=<%= item.rdid %>"> | ||||
|                 <% if !env.get("preferences").as(Preferences).thin_mode %> | ||||
|                     <div class="thumbnail"> | ||||
|                         <img class="thumbnail" src="/vi/<%= item.id %>/mqdefault.jpg"/> | ||||
|                         <img loading="lazy" class="thumbnail" src="/vi/<%= item.id %>/mqdefault.jpg"/> | ||||
|                         <% if item.length_seconds != 0 %> | ||||
|                             <p class="length"><%= recode_length_seconds(item.length_seconds) %></p> | ||||
|                         <% end %> | ||||
| @@ -51,7 +51,7 @@ | ||||
|             <a style="width:100%" href="/watch?v=<%= item.id %>&list=<%= item.plid %>&index=<%= item.index %>"> | ||||
|                 <% if !env.get("preferences").as(Preferences).thin_mode %> | ||||
|                     <div class="thumbnail"> | ||||
|                         <img class="thumbnail" src="/vi/<%= item.id %>/mqdefault.jpg"/> | ||||
|                         <img loading="lazy" class="thumbnail" src="/vi/<%= item.id %>/mqdefault.jpg"/> | ||||
|                         <% if plid = env.get?("remove_playlist_items") %> | ||||
|                             <form data-onsubmit="return_false" action="/playlist_ajax?action_remove_video=1&set_video_id=<%= item.index %>&playlist_id=<%= plid %>&referer=<%= env.get("current_page") %>" method="post"> | ||||
|                                 <input type="hidden" name="csrf_token" value="<%= URI.encode_www_form(env.get?("csrf_token").try &.as(String) || "") %>"> | ||||
| @@ -114,7 +114,7 @@ | ||||
|             <a style="width:100%" href="/watch?v=<%= item.id %>"> | ||||
|                 <% if !env.get("preferences").as(Preferences).thin_mode %> | ||||
|                     <div class="thumbnail"> | ||||
|                         <img class="thumbnail" src="/vi/<%= item.id %>/mqdefault.jpg"/> | ||||
|                         <img loading="lazy" class="thumbnail" src="/vi/<%= item.id %>/mqdefault.jpg"/> | ||||
|                         <% if env.get? "show_watched" %> | ||||
|                             <form data-onsubmit="return_false" action="/watch_ajax?action_mark_watched=1&id=<%= item.id %>&referer=<%= env.get("current_page") %>" method="post"> | ||||
|                                 <input type="hidden" name="csrf_token" value="<%= URI.encode_www_form(env.get?("csrf_token").try &.as(String) || "") %>"> | ||||
|   | ||||
| @@ -303,7 +303,7 @@ we're going to need to do it here in order to allow for translations. | ||||
|                             <a href="/watch?v=<%= rv["id"] %>"> | ||||
|                                 <% if !env.get("preferences").as(Preferences).thin_mode %> | ||||
|                                     <div class="thumbnail"> | ||||
|                                         <img class="thumbnail" src="/vi/<%= rv["id"] %>/mqdefault.jpg"> | ||||
|                                         <img loading="lazy" class="thumbnail" src="/vi/<%= rv["id"] %>/mqdefault.jpg"> | ||||
|                                         <p class="length"><%= recode_length_seconds(rv["length_seconds"]?.try &.to_i? || 0) %></p> | ||||
|                                     </div> | ||||
|                                 <% end %> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syeopite
					syeopite