Fix continuation for last page of playlists

pull/643/head
Omar Roth 6 years ago
parent c2c438637a
commit e736626953
No known key found for this signature in database
GPG Key ID: B8254FB7EC3D37F2

@ -375,14 +375,15 @@ def fetch_channel_playlists(ucid, author, auto_generated, continuation, sort_by)
json = JSON.parse(response.body) json = JSON.parse(response.body)
if json["load_more_widget_html"].as_s.empty? if json["load_more_widget_html"].as_s.empty?
return [] of SearchItem, nil continuation = nil
end else
continuation = XML.parse_html(json["load_more_widget_html"].as_s) continuation = XML.parse_html(json["load_more_widget_html"].as_s)
continuation = continuation.xpath_node(%q(//button[@data-uix-load-more-href])) continuation = continuation.xpath_node(%q(//button[@data-uix-load-more-href]))
if continuation if continuation
continuation = extract_channel_playlists_cursor(continuation["data-uix-load-more-href"], auto_generated) continuation = extract_channel_playlists_cursor(continuation["data-uix-load-more-href"], auto_generated)
end end
end
html = XML.parse_html(json["content_html"].as_s) html = XML.parse_html(json["content_html"].as_s)
nodeset = html.xpath_nodes(%q(//li[contains(@class, "feed-item-container")])) nodeset = html.xpath_nodes(%q(//li[contains(@class, "feed-item-container")]))

@ -85,7 +85,7 @@
<div class="pure-g h-box"> <div class="pure-g h-box">
<div class="pure-u-1 pure-u-md-4-5"></div> <div class="pure-u-1 pure-u-md-4-5"></div>
<div class="pure-u-1 pure-u-lg-1-5" style="text-align:right"> <div class="pure-u-1 pure-u-lg-1-5" style="text-align:right">
<% if items.size >= 28 %> <% if continuation %>
<a href="/channel/<%= channel.ucid %>/playlists?continuation=<%= continuation %><% if sort_by != "last" %>&sort_by=<%= sort_by %><% end %>"> <a href="/channel/<%= channel.ucid %>/playlists?continuation=<%= continuation %><% if sort_by != "last" %>&sort_by=<%= sort_by %><% end %>">
<%= translate(locale, "Next page") %> <%= translate(locale, "Next page") %>
</a> </a>

Loading…
Cancel
Save