From af27d6578a0dd75229f89b9c64992aec0cd19b4c Mon Sep 17 00:00:00 2001
From: ubq323 <ubq323>
Date: Thu, 19 Aug 2021 02:13:36 +0000
Subject: navbar

---
 apioforum/templates/view_thread.html | 11 +++++++++++
 apioforum/thread.py                  |  6 ++++++
 2 files changed, 17 insertions(+)

diff --git a/apioforum/templates/view_thread.html b/apioforum/templates/view_thread.html
index 132fd44..11d21e4 100644
--- a/apioforum/templates/view_thread.html
+++ b/apioforum/templates/view_thread.html
@@ -69,6 +69,17 @@
         {% endif %}
     {% endfor %}
 </div>
+<nav aria-label="pagination" id="pages">
+	{% if page > 1 %}
+	<a href="{{url_for('thread.view_thread',thread_id=thread.id)}}" aria-label="first page">&lt;&lt;</a>
+	<a href="{{url_for('thread.view_thread',thread_id=thread.id,page=page-1)}}" aria-label="previous page">&lt;</a>
+	{% endif %}
+	page {{page}} of {{max_pageno}}
+	{% if page < max_pageno %} {# > #}
+	<a href="{{url_for('thread.view_thread',thread_id=thread.id,page=page+1)}}" aria-label="next page">&gt;</a>
+	<a href="{{url_for('thread.view_thread',thread_id=thread.id,page=max_pageno)}}" aria-label="last page">&gt;&gt;</a>
+	{% endif %}
+</nav>
 {% if g.user and has_permission(thread.forum, g.user, "p_reply_threads") %}
 <form class="new-post" action="{{url_for('thread.create_post',thread_id=thread.id)}}" method="POST">
     <textarea class="new-post-box" placeholder="your post here..." name="content"></textarea>
diff --git a/apioforum/thread.py b/apioforum/thread.py
index b281d0a..0b12141 100644
--- a/apioforum/thread.py
+++ b/apioforum/thread.py
@@ -55,6 +55,10 @@ def view_thread(thread_id,page=1):
             POSTS_PER_PAGE,
             (page-1)*POSTS_PER_PAGE,
         )).fetchall()
+
+    num_posts = db.execute("SELECT count(*) as count FROM posts WHERE posts.thread = ?",(thread_id,)).fetchone()['count']
+    max_pageno = math.ceil(num_posts/POSTS_PER_PAGE)
+    
     tags = db.execute(
         """SELECT tags.* FROM tags
         INNER JOIN thread_tags ON thread_tags.tag = tags.id
@@ -99,6 +103,8 @@ def view_thread(thread_id,page=1):
         poll=poll,
         votes=votes,
         has_voted=has_voted,
+        page=page,
+        max_pageno=max_pageno,
     )
 
 def register_vote(thread,pollval):
-- 
cgit v1.2.3