mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-11-04 06:31:57 +00:00 
			
		
		
		
	Only show next page when there are more results
This commit is contained in:
		@@ -425,7 +425,7 @@ get "/search" do |env|
 | 
			
		||||
  page ||= 1
 | 
			
		||||
 | 
			
		||||
  search_params = build_search_params(sort_by: "relevance", content_type: "video")
 | 
			
		||||
  videos = search(query, page, search_params)
 | 
			
		||||
  count, videos = search(query, page, search_params).as(Tuple)
 | 
			
		||||
 | 
			
		||||
  templated "search"
 | 
			
		||||
end
 | 
			
		||||
@@ -2365,7 +2365,7 @@ get "/api/v1/search" do |env|
 | 
			
		||||
 | 
			
		||||
  response = JSON.build do |json|
 | 
			
		||||
    json.array do
 | 
			
		||||
      search_results = search(query, page, search_params)
 | 
			
		||||
      count, search_results = search(query, page, search_params).as(Tuple)
 | 
			
		||||
      search_results.each do |video|
 | 
			
		||||
        json.object do
 | 
			
		||||
          json.field "title", video.title
 | 
			
		||||
 
 | 
			
		||||
@@ -2,13 +2,13 @@ def crawl_videos(db)
 | 
			
		||||
  ids = Deque(String).new
 | 
			
		||||
  random = Random.new
 | 
			
		||||
 | 
			
		||||
  search(random.base64(3)).each do |video|
 | 
			
		||||
  search(random.base64(3)).as(Tuple)[1].each do |video|
 | 
			
		||||
    ids << video.id
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  loop do
 | 
			
		||||
    if ids.empty?
 | 
			
		||||
      search(random.base64(3)).each do |video|
 | 
			
		||||
      search(random.base64(3)).as(Tuple)[1].each do |video|
 | 
			
		||||
        ids << video.id
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@ def search(query, page = 1, search_params = build_search_params(content_type: "v
 | 
			
		||||
  nodeset = html.xpath_nodes(%q(//ol[@class="item-section"]/li))
 | 
			
		||||
  videos = extract_videos(nodeset)
 | 
			
		||||
 | 
			
		||||
  return videos
 | 
			
		||||
  return {nodeset.size, videos}
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
def build_search_params(sort_by = "relevance", date : String = "", content_type : String = "", duration : String = "", features : Array(String) = [] of String)
 | 
			
		||||
 
 | 
			
		||||
@@ -18,6 +18,8 @@
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="pure-u-1 pure-u-md-3-5"></div>
 | 
			
		||||
    <div style="text-align:right;" class="pure-u-1 pure-u-md-1-5">
 | 
			
		||||
    <% if count == 20 %>
 | 
			
		||||
        <a href="/search?q=<%= query %>&page=<%= page + 1 %>">Next page</a>
 | 
			
		||||
    <% end %>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user