diff options
| -rw-r--r-- | src/invidious/routes/playlists.cr | 7 | ||||
| -rw-r--r-- | src/invidious/views/playlist.ecr | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/invidious/routes/playlists.cr b/src/invidious/routes/playlists.cr index 19e6541f..73c14155 100644 --- a/src/invidious/routes/playlists.cr +++ b/src/invidious/routes/playlists.cr @@ -433,6 +433,13 @@ class Invidious::Routes::Playlists < Invidious::Routes::BaseRoute return error_template(500, ex) end + page_count = (playlist.video_count / 100).to_i + page_count = 1 if page_count == 0 + + if page > page_count + return env.redirect "/playlist?list=#{plid}&page=#{page_count}" + end + if playlist.privacy == PlaylistPrivacy::Private && playlist.author != user.try &.email return error_template(403, "This playlist is private.") end diff --git a/src/invidious/views/playlist.ecr b/src/invidious/views/playlist.ecr index bb721c3a..91156028 100644 --- a/src/invidious/views/playlist.ecr +++ b/src/invidious/views/playlist.ecr @@ -103,7 +103,7 @@ </div> <div class="pure-u-1 pure-u-lg-3-5"></div> <div class="pure-u-1 pure-u-lg-1-5" style="text-align:right"> - <% if videos.size == 100 %> + <% if page_count != 1 && page < page_count %> <a href="/playlist?list=<%= playlist.id %>&page=<%= page + 1 %>"> <%= translate(locale, "Next page") %> </a> |
