Cast page: the character's description is editable and saved to every draft of the chapter
This commit is contained in:
parent
890b8a9057
commit
637c8f125a
1 changed files with 17 additions and 0 deletions
17
looks.html
17
looks.html
|
|
@ -44,6 +44,11 @@
|
||||||
<div id="msg" class="msg"></div>
|
<div id="msg" class="msg"></div>
|
||||||
<div id="who" class="who"></div>
|
<div id="who" class="who"></div>
|
||||||
<div id="form">
|
<div id="form">
|
||||||
|
<div class="look" style="margin:0 0 14px"><h4>Who they are (the words every picture is drawn from)</h4>
|
||||||
|
<textarea id="appearance" placeholder="Build, face, hair, colouring, age"></textarea>
|
||||||
|
<input id="wardrobe" placeholder="What they wear in this chapter">
|
||||||
|
<div class="row" style="margin:0"><button type="button" class="btn small ghost" id="save">Save the description</button><span class="tiny" id="saved"></span></div>
|
||||||
|
</div>
|
||||||
<div class="looks" id="looks"></div>
|
<div class="looks" id="looks"></div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label class="tiny">Candidates <select id="n"><option>2</option><option selected>3</option><option>4</option></select></label>
|
<label class="tiny">Candidates <select id="n"><option>2</option><option selected>3</option><option>4</option></select></label>
|
||||||
|
|
@ -112,6 +117,7 @@
|
||||||
+ '</div>';
|
+ '</div>';
|
||||||
var lc = C.look_candidates || {};
|
var lc = C.look_candidates || {};
|
||||||
if (!$("looks").innerHTML) {
|
if (!$("looks").innerHTML) {
|
||||||
|
$("appearance").value = C.appearance || ""; $("wardrobe").value = C.wardrobe || "";
|
||||||
var start = lc.looks && lc.looks.length ? lc.looks : (/dorothy/i.test(C.id + " " + C.name) ? DOROTHY : [{ name: "As written", wear: C.wardrobe || "", setting: "" }, { name: "", wear: "", setting: "" }]);
|
var start = lc.looks && lc.looks.length ? lc.looks : (/dorothy/i.test(C.id + " " + C.name) ? DOROTHY : [{ name: "As written", wear: C.wardrobe || "", setting: "" }, { name: "", wear: "", setting: "" }]);
|
||||||
$("looks").innerHTML = lookHtml(0, start[0] || {}) + lookHtml(1, start[1] || {});
|
$("looks").innerHTML = lookHtml(0, start[0] || {}) + lookHtml(1, start[1] || {});
|
||||||
cost();
|
cost();
|
||||||
|
|
@ -143,10 +149,21 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
document.addEventListener("input", function (e) { if (e.target.closest("#form")) cost(); });
|
document.addEventListener("input", function (e) { if (e.target.closest("#form")) cost(); });
|
||||||
|
async function saveWho() {
|
||||||
|
var ap = $("appearance").value.trim(), wd = $("wardrobe").value.trim();
|
||||||
|
if (ap === (C.appearance || "") && wd === (C.wardrobe || "")) return true;
|
||||||
|
var r = await api("set_character", { draft_id: DID, character_id: CID, appearance: ap, wardrobe: wd });
|
||||||
|
if (!r.ok) { msg(r.error || "The description did not save."); return false; }
|
||||||
|
C.appearance = ap; C.wardrobe = wd;
|
||||||
|
$("saved").textContent = "Saved to " + r.drafts + " drafts of this chapter.";
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
$("save").addEventListener("click", saveWho);
|
||||||
$("draw").addEventListener("click", async function () {
|
$("draw").addEventListener("click", async function () {
|
||||||
var looks = readLooks();
|
var looks = readLooks();
|
||||||
if (!looks.length) { msg("Say what they wear in at least one look."); return; }
|
if (!looks.length) { msg("Say what they wear in at least one look."); return; }
|
||||||
msg("");
|
msg("");
|
||||||
|
if (!(await saveWho())) return;
|
||||||
$("draw").disabled = true;
|
$("draw").disabled = true;
|
||||||
var r = await api("look_candidates", { draft_id: DID, character_id: CID, looks: looks, n: parseInt($("n").value, 10) || 2 });
|
var r = await api("look_candidates", { draft_id: DID, character_id: CID, looks: looks, n: parseInt($("n").value, 10) || 2 });
|
||||||
if (!r.ok) { msg(r.error || "That did not start."); $("draw").disabled = false; return; }
|
if (!r.ok) { msg(r.error || "That did not start."); $("draw").disabled = false; return; }
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue