From 1905b90698b8171880b812bec1fcafaf0e35dc6a Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Sat, 20 Sep 2025 21:12:47 -0700 Subject: Ditch HTMX --- static/note.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 static/note.js (limited to 'static/note.js') diff --git a/static/note.js b/static/note.js new file mode 100644 index 0000000..27d3eef --- /dev/null +++ b/static/note.js @@ -0,0 +1,39 @@ +let running = false; +let pending = false; + +async function save() { + if (running) { + pending = true; + return; + } + running = true; + + try { + const indicator = document.getElementById("save-indicator"); + indicator.innerHTML = "Saving..."; + indicator.classList.remove("hidden"); + + let responseHTML; + do { + pending = false; + const response = await fetch("/notepad/autosave", { + method: "POST", + body: new FormData(document.getElementById("form")), + }); + responseHTML = await response.text(); + } while (pending); + // Who needs HTMX? + document.getElementById("save-indicator-wrapper").innerHTML = responseHTML; + } finally { + running = false; + } +} + +let autosaveTimer; + +function autosave(key) { + document.getElementById("save-indicator").classList.add("hidden"); + + clearTimeout(autosaveTimer); + autosaveTimer = setTimeout(() => save(key), 1000); +} -- cgit v1.3.1