Keep counter when recounting finish
This commit is contained in:
1 parent
ac0678d9c2
commit
7778e72628
1 file changed
+21
-8
@@ -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>
|
||||||
|
|||||||
Reference in new issue
Block a user