From 99e126de1bb7ec55aea80c7c28b65d5c8ce515a3 Mon Sep 17 00:00:00 2001 From: dsutanto Date: Wed, 5 Aug 2026 01:10:00 +0700 Subject: [PATCH] Keep local file selection in applyState across all recounting dashboards --- templates/recounting.html | 22 +++------------------- templates/recounting_lamborghini.html | 10 +++------- templates/recounting_upload.html | 13 ++++++------- 3 files changed, 12 insertions(+), 33 deletions(-) diff --git a/templates/recounting.html b/templates/recounting.html index 2406ed5..cd9a9b1 100644 --- a/templates/recounting.html +++ b/templates/recounting.html @@ -471,29 +471,13 @@ async function syncState() { function applyState(data) { if (!data) return; - if (data.file) { - selectedFile = data.file; - document.getElementById('btn-start').disabled = data.streaming; - document.getElementById('btn-download').disabled = false; - } else { - selectedFile = null; - batchResultLoaded = false; - document.getElementById('btn-start').disabled = true; - document.getElementById('btn-download').disabled = true; - document.getElementById('live-title').innerHTML = '◉ Live Counter'; - document.getElementById('live-count').textContent = '--'; - document.getElementById('live-label').textContent = 'Objects Counted'; - document.getElementById('live-batch').textContent = '--'; - document.getElementById('live-time').textContent = '--'; - document.getElementById('live-status').textContent = 'no file selected'; - document.getElementById('live-status').className = 'counter-status disconnected'; - } - if (data.streaming && data.file) { streaming = true; streamUrl = data.stream_url; + selectedFile = data.file; document.getElementById('btn-stop').disabled = false; document.getElementById('btn-start').disabled = true; + document.getElementById('btn-download').disabled = false; document.getElementById('btn-start').textContent = 'STREAMING'; document.getElementById('btn-start').classList.add('btn-ghost'); document.getElementById('video-status').innerHTML = @@ -501,7 +485,7 @@ function applyState(data) { document.getElementById('video-status').className = 'video-status connected'; loadBatchResult(data.file); - } else if (!data.streaming && data.file) { + } else if (data.file && selectedFile === data.file) { loadBatchResult(data.file); } } diff --git a/templates/recounting_lamborghini.html b/templates/recounting_lamborghini.html index df92e5b..e42d69c 100644 --- a/templates/recounting_lamborghini.html +++ b/templates/recounting_lamborghini.html @@ -393,17 +393,13 @@ async function syncState() { function applyState(data) { if (!data) return; - if (data.file) { - selectedFile = data.file; - document.getElementById('btn-start').disabled = data.streaming; - document.getElementById('btn-download').disabled = false; - } - if (data.streaming && data.file) { streaming = true; streamUrl = data.stream_url; + selectedFile = data.file; document.getElementById('btn-stop').disabled = false; document.getElementById('btn-start').disabled = true; + document.getElementById('btn-download').disabled = false; document.getElementById('btn-start').textContent = 'STREAMING'; document.getElementById('btn-start').classList.add('btn-ghost'); document.getElementById('video-status').innerHTML = @@ -411,7 +407,7 @@ function applyState(data) { document.getElementById('video-status').className = 'video-status connected'; loadBatchResult(data.file); - } else if (!data.streaming && data.file) { + } else if (data.file && selectedFile === data.file) { loadBatchResult(data.file); } } diff --git a/templates/recounting_upload.html b/templates/recounting_upload.html index 6d5c4c2..0efc5cc 100644 --- a/templates/recounting_upload.html +++ b/templates/recounting_upload.html @@ -873,24 +873,23 @@ async function syncState() { function applyState(data) { if (!data) return; - if (data.file) { - selectedFile = data.file; - document.getElementById('btn-start').disabled = data.streaming; - document.getElementById('btn-download').disabled = false; - document.getElementById('btn-delete').disabled = false; - } + if (data.streaming && data.file) { streaming = true; streamUrl = data.stream_url; + selectedFile = data.file; document.getElementById('btn-stop').disabled = false; document.getElementById('btn-start').disabled = true; + document.getElementById('btn-download').disabled = false; + document.getElementById('btn-delete').disabled = false; document.getElementById('btn-start').textContent = 'STREAMING'; document.getElementById('btn-start').classList.add('btn-ghost'); document.getElementById('video-status').innerHTML = ' streaming ' + (data.file_name || ''); document.getElementById('video-status').className = 'video-status connected'; + loadBatchResult(data.file); - } else if (!data.streaming && data.file) { + } else if (data.file && selectedFile === data.file) { loadBatchResult(data.file); } }