Keep counter when recounting finish

This commit is contained in:
proitlab committed 2026-07-30 21:07:52 +07:00
1 parent ac0678d9c2
commit 7778e72628
1 file changed
+21 -8
+21 -8
View File
@@ -663,6 +663,8 @@ async function startRecount() {
streamUrl = data.stream_url; streamUrl = data.stream_url;
streaming = true; streaming = true;
selectedFile = data.path; selectedFile = data.path;
lastRecountCount = null;
lastRecountTime = null;
document.getElementById('btn-stop').disabled = false; document.getElementById('btn-stop').disabled = false;
btnStart.textContent = 'STREAMING'; btnStart.textContent = 'STREAMING';
@@ -751,6 +753,9 @@ function resetVideoToggle() {
// --- Recount counter --- // --- Recount counter ---
let lastRecountCount = null;
let lastRecountTime = null;
async function loadRecountProgress() { async function loadRecountProgress() {
const countEl = document.getElementById('recount-count'); const countEl = document.getElementById('recount-count');
const timeEl = document.getElementById('recount-time'); const timeEl = document.getElementById('recount-time');
@@ -759,26 +764,34 @@ async function loadRecountProgress() {
const res = await fetch('/api/recount-progress'); const res = await fetch('/api/recount-progress');
const data = await res.json(); const data = await res.json();
if (!data.success) { if (!data.success) {
countEl.textContent = '--'; if (lastRecountCount === null) {
timeEl.textContent = data.error || 'unreachable'; countEl.textContent = '--';
timeEl.textContent = data.error || 'unreachable';
}
statusEl.className = 'counter-status disconnected'; statusEl.className = 'counter-status disconnected';
statusEl.textContent = 'no connection'; statusEl.textContent = 'completed';
return; return;
} }
countEl.textContent = data.count.toLocaleString(); lastRecountCount = data.count.toLocaleString();
countEl.textContent = lastRecountCount;
if (data.last_detection_time) { if (data.last_detection_time) {
const d = new Date(data.last_detection_time); const d = new Date(data.last_detection_time);
timeEl.textContent = d.toLocaleTimeString('en-US', { hour12: false, hour: '2-digit', minute: '2-digit', second: '2-digit' }); lastRecountTime = d.toLocaleTimeString('en-US', { hour12: false, hour: '2-digit', minute: '2-digit', second: '2-digit' });
timeEl.textContent = lastRecountTime;
} else if (lastRecountTime) {
timeEl.textContent = lastRecountTime;
} else { } else {
timeEl.textContent = 'waiting...'; timeEl.textContent = 'waiting...';
} }
statusEl.className = 'counter-status connected'; statusEl.className = 'counter-status connected';
statusEl.textContent = 'connected'; statusEl.textContent = 'connected';
} catch (err) { } catch (err) {
countEl.textContent = '--'; if (lastRecountCount === null) {
timeEl.textContent = 'unreachable'; countEl.textContent = '--';
timeEl.textContent = 'unreachable';
}
statusEl.className = 'counter-status disconnected'; statusEl.className = 'counter-status disconnected';
statusEl.textContent = 'no connection'; statusEl.textContent = 'completed';
} }
} }
</script> </script>