diff --git a/trailer.html b/trailer.html index d0c7536..65eb02b 100644 --- a/trailer.html +++ b/trailer.html @@ -338,6 +338,23 @@ return bits.join(" · "); } + // One more writer on this run: same book, same notes, nobody else pays again. + var ALLWRITERS = null; + function addWriterHtml() { + if (!ALLWRITERS) { + ALLWRITERS = []; + api("camera_presets", {}).then(function (r) { + ALLWRITERS = (r && r.writers) || []; if (ALLWRITERS.length) paintTabs(); }); + return ""; + } + var have = {}; DRAFTS.forEach(function (d) { have[d.writer] = 1; }); + var free = ALLWRITERS.filter(function (w) { return !have[w.id]; }); + if (!free.length) return ""; + return ' '; + } + function paintTabs() { document.getElementById("tabs").innerHTML = DRAFTS.map(function (d) { var s = String(d.draw_state || ""); @@ -352,10 +369,20 @@ + esc(d.label || d.writer) + (Number(d.iteration) > 1 ? ' v' + d.iteration : '') + (d.writer === RUN.lead_writer ? ' ★' : '') + extra + ''; - }).join(""); + }).join("") + addWriterHtml(); } document.getElementById("tabs").addEventListener("click", function (e) { + var addb = e.target.closest ? e.target.closest("[data-addwriter]") : null; + if (addb) { + var aw = document.getElementById("addwsel"); + addb.disabled = true; + api("add_writer", { run_id: runId, writer: aw ? aw.value : "" }).then(function (r) { + if (r && r.ok) { showMsg("msg", "That writer is reading the book now. Its script appears as a new tab in a few minutes.", "ok"); load(); } + else { showMsg("msg", (r && r.error) || "That writer could not be added."); addb.disabled = false; } + }); + return; + } var id = e.target.closest ? e.target.closest(".tab") : null; if (!id) return; CUR = id.getAttribute("data-tab"); EDITING = null; @@ -419,7 +446,7 @@ return '
' + esc(sp.the_engine) + '
' : '') @@ -1537,6 +1564,13 @@ + "automatically. This takes a few minutes." : (r.note || "Already checked."), "ok"); await refresh(); } return; } + if ((el = hit("data-addwriter"))) { + var aw = document.getElementById("addwsel"); + el.disabled = true; + r = await act("add_writer", { run_id: runId, writer: aw ? aw.value : "" }); + if (r) { showMsg("msg", "That writer is reading the book now. Its script appears as a new tab in a few minutes.", "ok"); await load(); } + return; + } if ((el = hit("data-lineset"))) { var lk = el.getAttribute("data-lineset"), lp = lk.split("|"); var lin = document.querySelector('[data-linetext="' + lk + '"]');