Upload status: clear stale errors, confirm override and queue adds

This commit is contained in:
2026-08-28 15:30:58 +01:00
parent 9d4f12e5df
commit c59fee65fd
+9 -4
View File
@@ -573,7 +573,11 @@
const uploadQueue = document.querySelector("#upload-queue"); const uploadQueue = document.querySelector("#upload-queue");
const uploadStatus = document.querySelector("#upload-status"); const uploadStatus = document.querySelector("#upload-status");
const overrideDate = document.querySelector("#upload-date-override"); const overrideDate = document.querySelector("#upload-date-override");
overrideDate.addEventListener("change", renderQueue); overrideDate.addEventListener("change", () => {
renderQueue();
if (overrideDate.value) setStatus(`Override active: all files go to ${overrideDate.value.replaceAll("-", "")}`, "ok");
else setStatus("Ready");
});
let queue = []; let queue = [];
function setStatus(msg, cls) { function setStatus(msg, cls) {
uploadStatus.textContent = msg; uploadStatus.textContent = msg;
@@ -594,7 +598,7 @@
const name = document.createElement("span"); name.className = "q-name"; name.textContent = entry.file.name; const name = document.createElement("span"); name.className = "q-name"; name.textContent = entry.file.name;
const stamp = fileStamp(entry); const stamp = fileStamp(entry);
const slot = document.createElement("span"); slot.className = "q-size"; const slot = document.createElement("span"); slot.className = "q-size";
slot.textContent = stamp.date + (stamp.time ? " " + stamp.time : " (mtime time per file)"); slot.textContent = stamp.date + " " + (stamp.time ? stamp.time : "mtime time");
const size = document.createElement("span"); size.className = "q-size"; size.textContent = (entry.file.size / 1048576).toFixed(1) + " MB"; const size = document.createElement("span"); size.className = "q-size"; size.textContent = (entry.file.size / 1048576).toFixed(1) + " MB";
const bar = document.createElement("span"); bar.className = "q-bar"; const bar = document.createElement("span"); bar.className = "q-bar";
const fill = document.createElement("i"); bar.append(fill); const fill = document.createElement("i"); bar.append(fill);
@@ -612,6 +616,7 @@
queue.push({file, state: "queued"}); queue.push({file, state: "queued"});
} }
renderQueue(); renderQueue();
if (queue.length) setStatus(`${queue.length} file${queue.length > 1 ? "s" : ""} queued${overrideDate.value ? " for " + overrideDate.value.replaceAll("-", "") : " (mtimes decide)"}`);
} }
function fileStamp(entry) { function fileStamp(entry) {
if (overrideDate.value) { if (overrideDate.value) {
@@ -676,8 +681,8 @@
uploadBtn.addEventListener("click", async () => { uploadBtn.addEventListener("click", async () => {
const pending = queue.filter(e => e.state === "queued"); const pending = queue.filter(e => e.state === "queued");
if (!pending.length) return; if (!pending.length) return;
if (!dateSelect.value) { if (!fileStamp(pending[0]).date) {
setStatus("Pick a recording date first (top right). Upload cancelled.", "err"); setStatus("No upload date: set the override date or file mtimes.", "err");
return; return;
} }
uploadBtn.disabled = true; uploadBtn.disabled = true;