From 73a78f0e97cc717fb41192bbf0aa3f96339e39a3 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Mon, 28 Nov 2022 03:45:20 +0200 Subject: [PATCH] add pagination to simps/haters/simps for/hates lists and remove loop.index --- files/routes/users.py | 13 +++++++++++-- files/templates/userpage/voters.html | 24 +++++++++++++++++++++--- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/files/routes/users.py b/files/routes/users.py index 4ed21c022..d787d3f7a 100644 --- a/files/routes/users.py +++ b/files/routes/users.py @@ -228,9 +228,18 @@ def all_upvoters_downvoters(v, username, vote_dir, is_who_simps_hates): if total == 1: vote_str = vote_str[:-1] # we want to unpluralize if only 1 vote total = f'{total} {vote_str} {received_given}' - name2 = f'Who @{username} {simps_haters}' if is_who_simps_hates else f'@{username} biggest {simps_haters}' + name2 = f'Who @{username} {simps_haters}' if is_who_simps_hates else f"@{username}'s {simps_haters}" - return render_template("userpage/voters.html", v=v, users=users[:PAGE_SIZE], pos=pos, name=vote_name, name2=name2, total=total) + try: page = int(request.values.get("page", 1)) + except: page = 1 + + PAGE_SIZE = 2 + + users = users[PAGE_SIZE * (page-1):] + next_exists = (len(users) > PAGE_SIZE) + users = users[:PAGE_SIZE] + + return render_template("userpage/voters.html", v=v, users=users, pos=pos, name=vote_name, name2=name2, total=total, page=page, next_exists=next_exists) @app.get("/@/upvoters") @auth_required diff --git a/files/templates/userpage/voters.html b/files/templates/userpage/voters.html index 7ca404fe6..a25469812 100644 --- a/files/templates/userpage/voters.html +++ b/files/templates/userpage/voters.html @@ -6,7 +6,6 @@
- @@ -14,14 +13,12 @@ {% for user, num in users %} - {% endfor %} {% if pos and (pos[0] > 25 or not pos[1]) %} -
# Name {{name}}votes
{{loop.index}} {% include "user_in_table.html" %} {{num}}
{{pos[0]}} {% with user=v %} {% include "user_in_table.html" %} @@ -34,3 +31,24 @@
{% endblock %} + +{% block pagenav %} + +{% endblock %}