summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOmar Roth <omarroth@protonmail.com>2019-07-20 11:38:20 -0500
committerOmar Roth <omarroth@protonmail.com>2019-07-20 11:38:20 -0500
commite7366269535368a33598e49c1844da21c97522ba (patch)
tree8946b5b25b2f82b9d299b8a44c67faeee57e940f /src
parentc2c438637ad331426c1095bea5d90fb8d253f751 (diff)
downloadinvidious-e7366269535368a33598e49c1844da21c97522ba.tar.gz
invidious-e7366269535368a33598e49c1844da21c97522ba.tar.bz2
invidious-e7366269535368a33598e49c1844da21c97522ba.zip
Fix continuation for last page of playlists
Diffstat (limited to 'src')
-rw-r--r--src/invidious/channels.cr13
-rw-r--r--src/invidious/views/playlists.ecr2
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>