$("#btnUpload").addEventListener("click", () => { const f = el("input", {type:"file", accept:".html,.htm,.txt", required:"required"}); const nm = el("input", {class:"inp", placeholder:"Name (defaults to filename)"}); openModal("Upload Template", el("div",{class:"form"}, el("label",{},"HTML file"), f, el("label",{},"Template name (optional)"), nm), { buttons: [{ label:"Upload", kind:"btn", onClick: async (close) => { if (!f.files[0]) return; const fd = new FormData(); fd.append("file", f.files[0]); if (nm.value.trim()) fd.append("name", nm.value.trim()); try { const d = await api("/templates/upload", {method:"POST", body:fd}); toast(`Uploaded as “${d.name}”`, "ok"); close(); await load(); } catch (err) { toast("Upload failed: " + err.message, "err"); } }}] }); });