From 99bbe8c9ea86f4de4396c881aba18b90139a3b09 Mon Sep 17 00:00:00 2001 From: itten Date: Sun, 2 Aug 2026 17:57:17 +0300 Subject: [PATCH] pager for transfers --- js/app.js | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/js/app.js b/js/app.js index 370357d..1543f10 100644 --- a/js/app.js +++ b/js/app.js @@ -15,6 +15,7 @@ var autoplayTimer = null; var isHidden = true; var autoplayOn = false; + var skipReveal = false; // if true, jump straight to compact (on reload restore) var container, card, opCounter; @@ -36,6 +37,16 @@ return; } + var saved = sessionStorage.getItem("transferIndex"); + if (saved !== null) { + var idx = parseInt(saved, 10); + if (!isNaN(idx) && idx >= 0 && idx < transfers.length) { + currentIndex = idx; + skipReveal = true; + showTransfer(currentIndex); + } + } + updateCounter(); setupKeys(); console.log("Loaded " + transfers.length + " transfers. Press \u2192 or Enter to start."); @@ -81,23 +92,29 @@ card.style.setProperty("--team-color", t.team.color); card.style.setProperty("--team-accent", t.team.accent); - // trigger reveal animation (restart) - card.classList.remove("reveal"); - void card.offsetWidth; - card.classList.add("reveal"); - // show container.classList.remove("hidden"); container.classList.add("visible"); isHidden = false; - // schedule 5 s compact transition - clearTimeout(compactTimer); - compactTimer = setTimeout(function () { - card.classList.remove("reveal"); // clear animation fill-mode locks so transitions are clean + if (skipReveal) { + skipReveal = false; container.classList.add("compact"); - }, REVEAL_TIME); + card.classList.remove("reveal"); + } else { + container.classList.remove("compact"); + card.classList.remove("reveal"); + void card.offsetWidth; + card.classList.add("reveal"); + clearTimeout(compactTimer); + compactTimer = setTimeout(function () { + card.classList.remove("reveal"); + container.classList.add("compact"); + }, REVEAL_TIME); + } + + sessionStorage.setItem("transferIndex", String(index)); updateCounter(); }