Paging in "My Activities" view ("Back" button should work now)

This commit is contained in:
Niklas Deutschmann 2026-04-19 08:04:14 +02:00
parent c84377b05a
commit 6674bed25f

View file

@ -97,7 +97,9 @@
const emptyState = document.getElementById('emptyState'); const emptyState = document.getElementById('emptyState');
const pagination = document.getElementById('pagination'); const pagination = document.getElementById('pagination');
let currentPage = 0; const pageFromUrl = new URLSearchParams(window.location.search).get('page') || 1;
// Page in URL query parameter is 1-based
let currentPage = pageFromUrl - 1;
let totalPages = 0; let totalPages = 0;
let activityToDelete = null; let activityToDelete = null;
@ -212,10 +214,10 @@
const paginationList = document.getElementById('paginationList'); const paginationList = document.getElementById('paginationList');
let html = ''; let html = '';
// Previous button // Previous button (data.number + 1 - 1, data.number is 0-based)
html += ` html += `
<li class="page-item ${data.first ? 'disabled' : ''}"> <li class="page-item ${data.first ? 'disabled' : ''}">
<a class="page-link" href="#" onclick="changePage(${data.number - 1}); return false;"> <a class="page-link" href="/activities?page=${data.number}">
<i class="bi bi-chevron-left"></i> <i class="bi bi-chevron-left"></i>
</a> </a>
</li> </li>
@ -232,7 +234,7 @@
for (let i = startPage; i <= endPage; i++) { for (let i = startPage; i <= endPage; i++) {
html += ` html += `
<li class="page-item ${i === data.number ? 'active' : ''}"> <li class="page-item ${i === data.number ? 'active' : ''}">
<a class="page-link" href="#" onclick="changePage(${i}); return false;">${i + 1}</a> <a class="page-link" href="/activities?page=${i + 1}">${i + 1}</a>
</li> </li>
`; `;
} }
@ -241,10 +243,10 @@
html += `<li class="page-item disabled"><span class="page-link">...</span></li>`; html += `<li class="page-item disabled"><span class="page-link">...</span></li>`;
} }
// Next button // Next button (data.number + 1 + 1, data.number is 0-based)
html += ` html += `
<li class="page-item ${data.last ? 'disabled' : ''}"> <li class="page-item ${data.last ? 'disabled' : ''}">
<a class="page-link" href="#" onclick="changePage(${data.number + 1}); return false;"> <a class="page-link" href="/activities?page=${data.number + 2}">
<i class="bi bi-chevron-right"></i> <i class="bi bi-chevron-right"></i>
</a> </a>
</li> </li>
@ -254,11 +256,6 @@
} }
// Global functions for pagination and delete // Global functions for pagination and delete
window.changePage = function(page) {
loadActivities(page);
window.scrollTo({ top: 0, behavior: 'smooth' });
};
window.confirmDelete = function(activityId) { window.confirmDelete = function(activityId) {
activityToDelete = activityId; activityToDelete = activityId;
const modal = new bootstrap.Modal(document.getElementById('deleteModal')); const modal = new bootstrap.Modal(document.getElementById('deleteModal'));