diff --git a/frontends/web/static/js/stegasoo.js b/frontends/web/static/js/stegasoo.js index aa11294..556b69d 100644 --- a/frontends/web/static/js/stegasoo.js +++ b/frontends/web/static/js/stegasoo.js @@ -919,7 +919,16 @@ const Stegasoo = { } if (btn) { btn.disabled = true; - btn.innerHTML = 'Encoding...'; + const startTime = Date.now(); + const updateTimer = () => { + const elapsed = Math.floor((Date.now() - startTime) / 1000); + const mins = Math.floor(elapsed / 60); + const secs = elapsed % 60; + const timeStr = mins > 0 ? `${mins}:${secs.toString().padStart(2, '0')}` : `${secs}s`; + btn.innerHTML = `Encoding... ${timeStr}`; + }; + updateTimer(); + setInterval(updateTimer, 1000); } }); }, @@ -952,7 +961,16 @@ const Stegasoo = { const selectedMode = document.querySelector('input[name="embed_mode"]:checked')?.value || 'auto'; if (btn) { btn.disabled = true; - btn.innerHTML = `Decoding (${selectedMode.toUpperCase()})...`; + const startTime = Date.now(); + const updateTimer = () => { + const elapsed = Math.floor((Date.now() - startTime) / 1000); + const mins = Math.floor(elapsed / 60); + const secs = elapsed % 60; + const timeStr = mins > 0 ? `${mins}:${secs.toString().padStart(2, '0')}` : `${secs}s`; + btn.innerHTML = `Decoding (${selectedMode.toUpperCase()})... ${timeStr}`; + }; + updateTimer(); + setInterval(updateTimer, 1000); } }); },