diff --git a/assets/js/po.js b/assets/js/po.js
index 0f686e3..83780e5 100644
--- a/assets/js/po.js
+++ b/assets/js/po.js
@@ -116,13 +116,78 @@ $(document).ready(function () {
}
function renderPOPagination(totalPages) {
- let paginationHtml = `
Previous`;
- for (let i = 1; i <= totalPages; i++) {
- paginationHtml += `${i}`;
+ let paginationHtml = '';
+
+ // Previous Button
+ paginationHtml += `
+
+
+ Previous
+
+
+ `;
+
+ let startPage = Math.max(1, poCurrentPage - 2);
+ let endPage = Math.min(totalPages, poCurrentPage + 2);
+
+ // Always show first page
+ if (startPage > 1) {
+ paginationHtml += `
+
+ 1
+
+ `;
+
+ if (startPage > 2) {
+ paginationHtml += `
+
+ ...
+
+ `;
+ }
}
- paginationHtml += `Next`;
+
+ // Middle Pages
+ for (let i = startPage; i <= endPage; i++) {
+ paginationHtml += `
+
+
+ ${i}
+
+
+ `;
+ }
+
+ // Always show last page
+ if (endPage < totalPages) {
+ if (endPage < totalPages - 1) {
+ paginationHtml += `
+
+ ...
+
+ `;
+ }
+
+ paginationHtml += `
+
+
+ ${totalPages}
+
+
+ `;
+ }
+
+ // Next Button
+ paginationHtml += `
+
+
+ Next
+
+
+ `;
+
$("#poPaginationControls").html(paginationHtml);
- }
+}
window.changePOPage = function(newPage) {
poCurrentPage = newPage;