From cb9625d613c3f428a34da4db12bce5bb8c169543 Mon Sep 17 00:00:00 2001 From: rob Date: Fri, 16 Jan 2026 14:46:35 -0400 Subject: [PATCH] Add improved pagination to admin pending tools page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Page number links with ellipsis for large ranges - First/Last page buttons (« and ») - "Go to page" input for direct page jumping - Current page highlighted in indigo Co-Authored-By: Claude Opus 4.5 --- src/cmdforge/web/templates/admin/pending.html | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/src/cmdforge/web/templates/admin/pending.html b/src/cmdforge/web/templates/admin/pending.html index 893f701..5f26b8e 100644 --- a/src/cmdforge/web/templates/admin/pending.html +++ b/src/cmdforge/web/templates/admin/pending.html @@ -91,13 +91,48 @@
Page {{ meta.page }} of {{ meta.total_pages }} ({{ meta.total }} total)
-
+
+ {% if meta.page > 1 %} + « Previous {% endif %} + + + {% set start_page = [1, meta.page - 2] | max %} + {% set end_page = [meta.total_pages, meta.page + 2] | min %} + + {% if start_page > 1 %} + ... + {% endif %} + + {% for p in range(start_page, end_page + 1) %} + {% if p == meta.page %} + {{ p }} + {% else %} + {{ p }} + {% endif %} + {% endfor %} + + {% if end_page < meta.total_pages %} + ... + {% endif %} + + {% if meta.page < meta.total_pages %} Next + » {% endif %} + + + | +
+ + + +
{% endif %} @@ -134,6 +169,18 @@ function toggleFindings(toolId) { el.classList.toggle('hidden'); } +function jumpToPage(event) { + event.preventDefault(); + const input = document.getElementById('page-input'); + const page = parseInt(input.value); + const maxPage = parseInt(input.max); + if (page && page >= 1 && page <= maxPage) { + window.location.href = `?page=${page}`; + } else if (page) { + alert(`Please enter a page number between 1 and ${maxPage}`); + } +} + async function approveTool(toolId) { if (!confirm('Approve this tool?')) return; try {