diff options
| author | Omar Roth <omarroth@protonmail.com> | 2019-07-20 11:38:20 -0500 |
|---|---|---|
| committer | Omar Roth <omarroth@protonmail.com> | 2019-07-20 11:38:20 -0500 |
| commit | e7366269535368a33598e49c1844da21c97522ba (patch) | |
| tree | 8946b5b25b2f82b9d299b8a44c67faeee57e940f | |
| parent | c2c438637ad331426c1095bea5d90fb8d253f751 (diff) | |
| download | invidious-e7366269535368a33598e49c1844da21c97522ba.tar.gz invidious-e7366269535368a33598e49c1844da21c97522ba.tar.bz2 invidious-e7366269535368a33598e49c1844da21c97522ba.zip | |
Fix continuation for last page of playlists
| -rw-r--r-- | src/invidious/channels.cr | 13 | ||||
| -rw-r--r-- | src/invidious/views/playlists.ecr | 2 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/invidious/channels.cr b/src/invidious/channels.cr index 0bbd0eaa..129ff192 100644 --- a/src/invidious/channels.cr +++ b/src/invidious/channels.cr @@ -375,13 +375,14 @@ def fetch_channel_playlists(ucid, author, auto_generated, continuation, sort_by) json = JSON.parse(response.body) if json["load_more_widget_html"].as_s.empty? - return [] of SearchItem, nil - end + continuation = nil + else + continuation = XML.parse_html(json["load_more_widget_html"].as_s) + continuation = continuation.xpath_node(%q(//button[@data-uix-load-more-href])) - continuation = XML.parse_html(json["load_more_widget_html"].as_s) - continuation = continuation.xpath_node(%q(//button[@data-uix-load-more-href])) - if continuation - continuation = extract_channel_playlists_cursor(continuation["data-uix-load-more-href"], auto_generated) + if continuation + continuation = extract_channel_playlists_cursor(continuation["data-uix-load-more-href"], auto_generated) + end end html = XML.parse_html(json["content_html"].as_s) diff --git a/src/invidious/views/playlists.ecr b/src/invidious/views/playlists.ecr index 0a5a0c13..1825bb48 100644 --- a/src/invidious/views/playlists.ecr +++ b/src/invidious/views/playlists.ecr @@ -85,7 +85,7 @@ <div class="pure-g h-box"> <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"> - <% if items.size >= 28 %> + <% if continuation %> <a href="/channel/<%= channel.ucid %>/playlists?continuation=<%= continuation %><% if sort_by != "last" %>&sort_by=<%= sort_by %><% end %>"> <%= translate(locale, "Next page") %> </a> |
