From 65e95b698db584960c6b69f37b5ca8b864717cf4 Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 27 Oct 2025 17:01:46 +0000 Subject: [PATCH] Include active filters in navigation for review-next and skip actions --- .../sbas/question_review_question.html | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/sbas/templates/sbas/question_review_question.html b/sbas/templates/sbas/question_review_question.html index 3932271a..0c5923b6 100644 --- a/sbas/templates/sbas/question_review_question.html +++ b/sbas/templates/sbas/question_review_question.html @@ -141,16 +141,26 @@ skipBtn.disabled = true; }); - // Navigate to the review-next endpoint without query parameters + // Build base URL for navigation + const base = "{% url app_name|add:':question_review_next' %}"; + + // Active filters passed from server-side context + const activeCategory = "{{ filters.category|default:'' }}"; + const activeStatus = "{{ filters.status|default:'' }}"; + + // Navigate to the review-next endpoint including current filters nextBtn.addEventListener('click', function(){ - const base = "{% url app_name|add:':question_review_next' %}"; - window.location.href = base; + const params = new URLSearchParams(); + if (activeCategory) params.set('category', activeCategory); + if (activeStatus) params.set('status', activeStatus); + // Next navigates to the next matching item (no skip) + const qs = params.toString(); + window.location.href = qs ? (base + '?' + qs) : base; }); // Skip: increment 'skip' query param (defaults to 1) and include current filters const skipBtn = document.getElementById('review-skip-btn'); skipBtn.addEventListener('click', function(){ - const base = "{% url app_name|add:':question_review_next' %}"; // read existing skip from current URL (if present) and increment const curParams = new URLSearchParams(window.location.search); let curSkip = parseInt(curParams.get('skip') || '0', 10) || 0; @@ -158,6 +168,8 @@ const params = new URLSearchParams(); params.set('skip', String(newSkip)); + if (activeCategory) params.set('category', activeCategory); + if (activeStatus) params.set('status', activeStatus); window.location.href = base + '?' + params.toString(); });