photo_server_json_con_aves22/public/js/admin/scan.js
2026-04-18 20:14:42 +02:00

32 lines
850 B
JavaScript

let scanInterval = null;
async function scan() {
startScanStatusPolling();
await apiGet(`/scan`);
}
function startScanStatusPolling() {
if (scanInterval) clearInterval(scanInterval);
scanInterval = setInterval(async () => {
const res = await fetch(`/photos/scan_status.json?ts=${Date.now()}`);
if (!res.ok) return;
const data = await res.json();
document.getElementById("scanProgress").textContent =
`Progresso: ${data.current}/${data.total} (${data.percent}%)`;
document.getElementById("scanEta").textContent =
`ETA: ${data.eta}`;
document.getElementById("progressBar").style.width = data.percent + "%";
if (data.current >= data.total && data.total > 0) {
clearInterval(scanInterval);
scanInterval = null;
await readDB();
}
}, 1000);
}