diff --git a/templates/recounting.html b/templates/recounting.html
index 5e45751..0859255 100644
--- a/templates/recounting.html
+++ b/templates/recounting.html
@@ -663,6 +663,8 @@ async function startRecount() {
streamUrl = data.stream_url;
streaming = true;
selectedFile = data.path;
+ lastRecountCount = null;
+ lastRecountTime = null;
document.getElementById('btn-stop').disabled = false;
btnStart.textContent = 'STREAMING';
@@ -751,6 +753,9 @@ function resetVideoToggle() {
// --- Recount counter ---
+let lastRecountCount = null;
+let lastRecountTime = null;
+
async function loadRecountProgress() {
const countEl = document.getElementById('recount-count');
const timeEl = document.getElementById('recount-time');
@@ -759,26 +764,34 @@ async function loadRecountProgress() {
const res = await fetch('/api/recount-progress');
const data = await res.json();
if (!data.success) {
- countEl.textContent = '--';
- timeEl.textContent = data.error || 'unreachable';
+ if (lastRecountCount === null) {
+ countEl.textContent = '--';
+ timeEl.textContent = data.error || 'unreachable';
+ }
statusEl.className = 'counter-status disconnected';
- statusEl.textContent = 'no connection';
+ statusEl.textContent = 'completed';
return;
}
- countEl.textContent = data.count.toLocaleString();
+ lastRecountCount = data.count.toLocaleString();
+ countEl.textContent = lastRecountCount;
if (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 {
timeEl.textContent = 'waiting...';
}
statusEl.className = 'counter-status connected';
statusEl.textContent = 'connected';
} catch (err) {
- countEl.textContent = '--';
- timeEl.textContent = 'unreachable';
+ if (lastRecountCount === null) {
+ countEl.textContent = '--';
+ timeEl.textContent = 'unreachable';
+ }
statusEl.className = 'counter-status disconnected';
- statusEl.textContent = 'no connection';
+ statusEl.textContent = 'completed';
}
}