From c1cf472caf5afac4d022ca0cd33ecfbdb7ab1ced Mon Sep 17 00:00:00 2001 From: Deeman Date: Sun, 1 Mar 2026 22:39:38 +0100 Subject: [PATCH] fix(admin): guard htmx:confirm handler against empty question The handler called evt.preventDefault() unconditionally, so auto-poll requests (hx-trigger="every 5s", no hx-confirm) caused an empty dialog to pop up every 5 seconds. Add an early return when evt.detail.question is falsy so only actual hx-confirm interactions are intercepted. Co-Authored-By: Claude Sonnet 4.6 --- web/src/padelnomics/admin/templates/admin/base_admin.html | 1 + 1 file changed, 1 insertion(+) diff --git a/web/src/padelnomics/admin/templates/admin/base_admin.html b/web/src/padelnomics/admin/templates/admin/base_admin.html index b607d2d..9cc68ef 100644 --- a/web/src/padelnomics/admin/templates/admin/base_admin.html +++ b/web/src/padelnomics/admin/templates/admin/base_admin.html @@ -247,6 +247,7 @@ function confirmAction(message, form) { // Intercept hx-confirm to use the styled dialog instead of window.confirm() document.body.addEventListener('htmx:confirm', function(evt) { + if (!evt.detail.question) return; // no hx-confirm on this element, let HTMX proceed var dialog = document.getElementById('confirm-dialog'); if (!dialog) return; // fallback: let HTMX use native confirm evt.preventDefault();