From 4caadd2ef02fccb494ae15c239a9ae652459a8b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dalibor=20Markovi=C4=87?= Date: Sat, 20 Jun 2026 22:37:51 +0200 Subject: [PATCH] Magacin: ukloni bljesak animacije pri sidebar navigaciji (reflow na afterSwap) --- web/templates/stranice/magacin.html | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/web/templates/stranice/magacin.html b/web/templates/stranice/magacin.html index 0f9c285..67943f8 100644 --- a/web/templates/stranice/magacin.html +++ b/web/templates/stranice/magacin.html @@ -242,11 +242,19 @@ document.body.addEventListener('htmx:beforeRequest', function (e) { if (rez) rez.classList.add('bez-anim'); } }); -// Pre nego što HTMX sačuva snapshot stranice u sessionStorage, skloni bez-anim -// da snapshot ne prikazuje "zamrznutu" tabelu bez animacije pri sledećoj navigaciji. -document.body.addEventListener('htmx:beforeHistorySave', function () { + +// Pri sidebar navigaciji (boost menja ceo #glavni-sadrzaj) browser nakratko +// prikaže redove pre nego što animacija krene. Forsiramo reflow: prvo ugasimo +// animaciju, pa je odmah pustimo iz from-stanja → nema bljeska. Pretragu/ +// paginaciju (target = #magacin-rezultati) NE diramo. +document.body.addEventListener('htmx:afterSwap', function (e) { + var t = e.detail && e.detail.target; + if (t && t.id === 'magacin-rezultati') return; var rez = document.getElementById('magacin-rezultati'); - if (rez) rez.classList.remove('bez-anim'); + if (!rez) return; + rez.classList.add('bez-anim'); + void rez.offsetHeight; + rez.classList.remove('bez-anim'); }); {{end}}