Only show next page when there are more results
This commit is contained in:
parent
78fcf579a7
commit
77b12b6249
4 changed files with 7 additions and 5 deletions
|
@ -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>
|
||||
|
|
Loading…
Reference in a new issue