Add persistent print queue

This commit is contained in:
Mikei386
2026-06-22 14:56:20 +02:00
parent 7ce97443b1
commit 34f0161350
8 changed files with 170 additions and 9 deletions
+18
View File
@@ -15,6 +15,7 @@ const fields = {
tapeTextSwatch: document.getElementById("mobileTapeTextSwatch"),
tapeTextText: document.getElementById("mobileTapeTextText"),
preview: document.getElementById("mobilePreview"),
queueStatus: document.getElementById("mobileQueueStatus"),
message: document.getElementById("mobileMessage"),
};
@@ -131,6 +132,21 @@ async function send(url) {
}
fields.preview.src = `${payload.image}?t=${Date.now()}`;
setMessage(payload.message || "Vorschau erstellt.", "success");
updateQueueStatus();
}
async function updateQueueStatus() {
try {
const response = await fetch("/api/queue");
const payload = await response.json();
if (!payload.ok) return;
const firstWaiting = payload.jobs?.find((job) => job.lastError);
fields.queueStatus.textContent = payload.enabled
? `Warteschlange: ${payload.length}${firstWaiting ? " (wartet auf Drucker)" : ""}`
: "Warteschlange: aus";
} catch {
fields.queueStatus.textContent = "Warteschlange: unbekannt";
}
}
document.getElementById("mobilePreviewBtn").addEventListener("click", () => send("/api/preview"));
@@ -167,3 +183,5 @@ document.querySelectorAll(".stepper").forEach((stepper) => {
});
mobileDesign();
updateQueueStatus();
setInterval(updateQueueStatus, 10000);