aboutsummaryrefslogtreecommitdiff
path: root/internal/admin
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-07-13 05:18:44 -0400
committerhistoria <[not public]>2026-07-13 05:18:44 -0400
commitfcc9c0a83df82093efd3a85e8e0dc0768653ea87 (patch)
tree20f871fc2683660f37a6f93faea3951bda50caa2 /internal/admin
parentf601a40776843f6196221e74ba502c571a5b1bcd (diff)
downloadthehouseoficarus-fcc9c0a83df82093efd3a85e8e0dc0768653ea87.tar.gz
fix(admin): reduce excessive css, line up talk card inputs
Diffstat (limited to 'internal/admin')
-rw-r--r--internal/admin/static/admin.css80
-rw-r--r--internal/admin/static/talktree.js39
2 files changed, 45 insertions, 74 deletions
diff --git a/internal/admin/static/admin.css b/internal/admin/static/admin.css
index a1a364e..0ee66bb 100644
--- a/internal/admin/static/admin.css
+++ b/internal/admin/static/admin.css
@@ -29,7 +29,7 @@ body{font-family:monospace;background:var(--bg);color:var(--text);display:flex;f
.btn-danger{background:var(--danger);color:#fff}
.btn-danger:hover{opacity:.9}
.btn-success{background:var(--success);color:#fff}
-.btn-sm{padding:3px 8px;font-size:11px}
+.btn-sm{padding:2px 8px;font-size:10px}
.btn-row{display:flex;gap:6px;margin-top:12px}
.table{width:100%;border-collapse:collapse;font-size:12px}
.table th,.table td{padding:4px 8px;text-align:left;border-bottom:1px solid var(--border)}
@@ -76,7 +76,6 @@ input.search-input{padding-right:24px;background-image:url("data:image/svg+xml,%
.talk-node-key{color:#6cf;font-weight:bold;white-space:nowrap}
.talk-node-preview{color:#888;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.talk-node-spacer{flex:1}
-.talk-node-btn{padding:2px 6px;font-size:10px;border-radius:2px;border:none;cursor:pointer;font-family:monospace}
.talk-node-del{background:var(--danger);color:#fff}
.talk-node-body{display:none;padding:6px 0 2px 0}
.talk-node.open>.talk-node-body{display:block}
@@ -89,38 +88,22 @@ input.search-input{padding-right:24px;background-image:url("data:image/svg+xml,%
.talk-opt-arrow{color:#555;flex-shrink:0}
.talk-opt-text{color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.talk-opt-goto{color:#8cf;font-weight:bold;white-space:nowrap;min-width:30px}
-.talk-opt-tag{display:inline-block;padding:1px 6px;font-size:9px;border-radius:2px;line-height:1.4;flex-shrink:0;cursor:pointer;border:1px solid transparent}
+.talk-opt-tag{display:inline-block;padding:2px 8px;font-size:10px;border-radius:3px;line-height:1.4;flex-shrink:0;cursor:pointer;border:1px solid transparent;min-width:40px;text-align:center}
.talk-opt-tag-cond{background:var(--cond-bg);color:var(--cond-light)}
.talk-opt-tag-act{background:var(--act-bg);color:var(--act-light)}
-.talk-opt-del{padding:0 4px;font-size:10px;line-height:1.4;border:none;border-radius:2px;background:var(--danger);color:#fff;cursor:pointer;flex-shrink:0}
-.talk-add-btn{display:inline-block;margin-top:4px;padding:3px 10px;font-size:10px;background:var(--accent);color:var(--text);border:1px solid #1a5a8e;border-radius:3px;cursor:pointer;font-family:monospace}
+.talk-opt-del{line-height:1.4;background:var(--danger);color:#fff;flex-shrink:0;width:40px;text-align:center}
+.talk-add-btn{display:inline-block;margin-top:4px;background:var(--accent);color:var(--text);border:1px solid #1a5a8e}
.talk-children{margin-top:0}
.talk-section{margin-bottom:6px}
.talk-section-header{display:flex;align-items:center;gap:6px;margin-bottom:3px}
.talk-section-header .talk-prop-label{font-size:10px;color:#aaa;text-transform:uppercase;letter-spacing:.3px}
-.talk-section-remove{padding:1px 5px;font-size:9px;line-height:1.4;border:none;border-radius:2px;background:var(--danger);color:#fff;cursor:pointer;font-family:monospace}
-.talk-input{width:100%;padding:4px 6px;font-size:11px;font-family:monospace;background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:3px}
+.talk-section-remove{line-height:1.4;background:var(--danger);color:#fff}
+.talk-input{width:100%;padding:3px 6px;font-size:11px;font-family:monospace;background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:3px}
.talk-input:focus{border-color:#4a7aaa;outline:none}
-.talk-input-sm{padding:2px 4px;font-size:10px}
-.talk-input-num{width:60px;padding:2px 4px;font-size:10px;font-family:monospace;background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:3px}
-.talk-input-num:focus{border-color:#4a7aaa;outline:none}
-.talk-select{font-size:10px;font-family:monospace;background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:3px;padding:2px 4px}
-.talk-select:focus{border-color:#4a7aaa;outline:none}
-.talk-check-label{font-size:10px;color:#bbb;display:inline-flex;align-items:center;gap:3px;cursor:pointer;margin-right:10px}
-.talk-check-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}
-.talk-kv-section{margin-top:4px;padding:4px 6px;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:4px}
-.talk-kv-header{display:flex;align-items:center;gap:6px;margin-bottom:3px}
-.talk-kv-header .talk-prop-label{font-size:9px;color:#aaa;text-transform:uppercase;letter-spacing:.3px}
-.talk-kv-row{display:flex;gap:3px;align-items:center;margin-bottom:2px}
-.talk-kv-row .talk-input{flex:1;min-width:0;padding:2px 4px;font-size:10px}
-.talk-kv-add{font-size:9px;padding:1px 6px;line-height:1.4;border:1px solid #1a5a8e;border-radius:2px;background:var(--accent);color:var(--text);cursor:pointer;font-family:monospace}
-.talk-kv-del{font-size:9px;padding:0 4px;line-height:1.4;border:none;border-radius:2px;background:var(--danger);color:#fff;cursor:pointer;font-family:monospace;flex-shrink:0}
-.talk-action-block{margin-top:3px;padding:6px;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:4px}
-.talk-action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:3px 8px}
-.talk-add-cond-btn{font-size:9px;padding:1px 6px;line-height:1.4;border:1px solid var(--cond-bd);border-radius:3px;background:var(--cond);color:#fff;cursor:pointer;font-family:monospace;margin-bottom:6px}
+.talk-add-cond-btn{line-height:1.4;border:1px solid var(--cond-bd);background:var(--cond);color:#fff;margin-bottom:6px;min-width:44px;text-align:center}
.talk-add-cond-btn:hover{filter:brightness(1.15)}
-.talk-add-act-btn{font-size:9px;padding:1px 6px;line-height:1.4;border:1px solid var(--act-bd);border-radius:3px;background:var(--act);color:#fff;cursor:pointer;font-family:monospace;margin-bottom:6px}
+.talk-add-act-btn{line-height:1.4;border:1px solid var(--act-bd);background:var(--act);color:#fff;margin-bottom:6px;min-width:40px;text-align:center}
.talk-add-act-btn:hover{filter:brightness(1.15)}
.talk-cond-card{border:1px solid var(--border);border-radius:5px;margin-bottom:6px;overflow:hidden}
@@ -130,48 +113,33 @@ input.search-input{padding-right:24px;background-image:url("data:image/svg+xml,%
.talk-cond-card.cond>.talk-cond-card-header{background:var(--cond-bg);border-bottom-color:var(--cond-bd);color:var(--cond-light)}
.talk-cond-card.act>.talk-cond-card-header{background:var(--act-bg);border-bottom-color:var(--act-bd);color:var(--act-light)}
.talk-cond-card-body{padding:6px 8px}
-.talk-cond-card-body .talk-action-block{margin-top:0;border:none;padding:0;border-radius:0;background:transparent}
.talk-cond-card-sep{border-top:1px solid var(--border);margin:1px 0 4px 0}
.talk-cond-card.cond .talk-cond-card-sep{border-top-color:var(--cond-bd)}
.talk-cond-card.act .talk-cond-card-sep{border-top-color:var(--act-bd)}
-.talk-cond-mode-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}
-.talk-cond-mode-row .talk-prop-label{font-size:9px;color:#888;text-transform:uppercase;letter-spacing:.3px}
-
-.talk-clause-row{display:flex;align-items:center;gap:4px;margin-bottom:2px;font-size:10px}
-.talk-clause-row .talk-input{flex:1;min-width:0;padding:2px 4px;font-size:10px}
-.talk-clause-type{color:#6af;font-size:9px;text-transform:uppercase;letter-spacing:.3px;min-width:24px;white-space:nowrap}
-.talk-clause-label{color:#888;font-size:9px;white-space:nowrap}
-.talk-clause-del{padding:0 4px;font-size:9px;line-height:1.4;border:none;border-radius:2px;background:var(--danger);color:#fff;cursor:pointer;font-family:monospace;flex-shrink:0}
-
-.talk-clause-add-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(100%/5,110px),1fr));gap:4px;margin-top:4px;padding-bottom:6px}
-.talk-clause-add-btn{font-size:9px;padding:1px 6px;line-height:1.4;border:1px solid rgba(100,160,255,.2);border-radius:2px;background:transparent;color:#6af;cursor:pointer;font-family:monospace;width:100%;min-width:0}
-.talk-clause-add-btn:hover{background:rgba(100,160,255,.1)}
-
.talk-goto-fallback{display:flex;align-items:center;gap:6px;margin-top:6px;padding:4px 6px;background:rgba(255,255,255,.015);border:1px dashed var(--border);border-radius:3px}
.talk-goto-fallback .talk-prop-label{font-size:9px;color:#888;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;flex-shrink:0}
-.talk-goto-fallback .talk-input{flex:1;min-width:0;padding:2px 4px;font-size:10px}
+.talk-goto-fallback .talk-input{flex:1;min-width:0}
.talk-add-node-row{display:flex;gap:4px;align-items:center;margin-top:8px}
.talk-add-node-row .talk-input{flex:1;max-width:200px}
.talk-add-node-row .talk-add-btn{flex-shrink:0}
.talk-opt-edit-row{display:flex;gap:4px;align-items:center;margin:3px 0;padding:3px 6px;font-size:11px}
-.talk-opt-edit-row .talk-input{flex:1;min-width:0;padding:2px 4px;font-size:10px}
+.talk-opt-edit-row .talk-input{flex:1;min-width:0}
.talk-opt-edit-row .talk-opt-text{flex:3}
.talk-opt-edit-row .talk-opt-goto{flex:1;max-width:130px}
.talk-opt-edit-row .talk-opt-arrow{flex-shrink:0}
.talk-opt-edit-actions{display:flex;gap:2px;align-items:center;flex-shrink:0}
-.talk-add-opt-row{display:flex;gap:4px;align-items:center;margin-top:4px;padding:0 6px}
-.talk-add-opt-row .talk-input{flex:1;min-width:0;padding:2px 4px;font-size:10px}
-.talk-add-opt-row .talk-opt-text{flex:8}
+.talk-add-opt-row{display:flex;gap:4px;align-items:center;margin-top:4px;padding:3px 6px}
+.talk-add-opt-row .talk-input{flex:1;min-width:0}
+.talk-add-opt-row .talk-opt-text{flex:3}
.talk-add-opt-row .talk-opt-goto{flex:1;max-width:130px}
-.talk-add-opt-row .talk-add-btn{flex-shrink:0;margin-top:0}
-.talk-opt-gap{width:52px;flex-shrink:0}
+.talk-add-opt-row .talk-add-btn{flex-shrink:0;margin-top:0;width:40px}
.talk-seq-add-row{display:flex;gap:6px;align-items:center;margin:2px 0 2px 10px}
-.talk-seq-add-row .talk-input{flex:1;padding:2px 4px;font-size:10px}
+.talk-seq-add-row .talk-input{flex:1}
.talk-seq-add-row .talk-add-btn{flex-shrink:0;margin-top:0}
-.talk-seq-del{font-size:9px;padding:0 4px;line-height:1.4;border:none;border-radius:2px;background:var(--danger);color:#fff;cursor:pointer;font-family:monospace;flex-shrink:0}
+.talk-seq-del{line-height:1.4;background:var(--danger);color:#fff;flex-shrink:0}
#talktree .search-results{position:absolute;top:100%;left:0;right:0;max-height:160px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:3px;z-index:50;box-shadow:0 4px 12px rgba(0,0,0,.4);margin-top:2px}
#talktree .search-results .sr-item{padding:4px 8px;font-size:11px;cursor:pointer;color:var(--text);border-bottom:1px solid rgba(255,255,255,.03)}
#talktree .search-results .sr-item:hover,#talktree .search-results .sr-item.active{background:var(--accent)}
@@ -338,7 +306,7 @@ g.ud-hover:hover text{font-weight:bold}
.obj-sub-row .obj-card-grid{flex:1;display:flex;gap:6px;flex-wrap:wrap}
.obj-sub-row .obj-card-grid .obj-field{margin-bottom:0}
.obj-sub-remove{align-self:flex-end;padding:2px 6px;font-size:10px;min-width:auto;background:var(--danger);color:#fff;border:none;border-radius:3px;cursor:pointer;margin-bottom:3px}
-.obj-sub-add{display:block;width:100%;margin-top:4px;padding:4px 8px;font-size:11px;background:var(--accent);color:var(--text);border:1px solid #1a5a8e;border-radius:3px;cursor:pointer;font-family:monospace}
+.obj-sub-add{display:block;width:100%;margin-top:4px;background:var(--accent);color:var(--text);border:1px solid #1a5a8e}
.obj-sub-add:hover{background:var(--hover)}
.add-section-bar{display:flex;gap:6px;align-items:center;margin-top:12px;padding:8px 0;border-top:1px solid var(--border);max-width:100%;flex-wrap:wrap}
.add-section-bar select{padding:4px 8px;font-size:11px;background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:3px;font-family:monospace;flex:1}
@@ -396,7 +364,7 @@ g.ud-hover:hover text{font-weight:bold}
.ie-cond{background:var(--cond-bg);border:1px solid var(--cond-bd);border-radius:5px;padding:8px;margin-bottom:4px}
.ie-cond-root{padding:0}
.ie-cond-modebar{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
-.ie-cond-modesel{font-size:11px;padding:2px 4px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:3px;font-family:monospace}
+.ie-cond-modesel{font-size:11px;padding:3px 6px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:3px;font-family:monospace}
.ie-cond-notlbl{font-size:10px;color:var(--text);display:inline-flex;align-items:center;gap:2px;white-space:nowrap;cursor:pointer}
.ie-cond-not{accent-color:var(--danger);margin:0}
.ie-cond-children{display:flex;flex-direction:column;gap:4px}
@@ -410,7 +378,7 @@ g.ud-hover:hover text{font-weight:bold}
.ie-cond-rm{flex-shrink:0}
.ie-cond-grp-rm{margin-left:auto}
.ie-cond-addbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(100%/5,110px),1fr));gap:4px;margin-top:4px}
-.ie-add-btn{font-size:10px!important;padding:2px 6px!important;background:var(--accent)!important;color:var(--text)!important;border:1px solid #1a5a8e!important;font-family:monospace!important;border-radius:3px!important;cursor:pointer;white-space:nowrap}
+.ie-add-btn{font-size:10px!important;padding:2px 8px!important;background:var(--accent)!important;color:var(--text)!important;border:1px solid #1a5a8e!important;font-family:monospace!important;border-radius:3px!important;cursor:pointer;white-space:nowrap}
.ie-add-btn:hover{background:#1a5a8e!important;color:#fff!important}
.ie-cond-addbar .ie-add-btn,.ie-cond-empty-bar .ie-add-btn{background:var(--cond)!important;color:#fff!important;border-color:var(--cond-bd)!important}
.ie-cond-addbar .ie-add-btn:hover,.ie-cond-empty-bar .ie-add-btn:hover{filter:brightness(1.15)!important}
@@ -430,7 +398,7 @@ g.ud-hover:hover text{font-weight:bold}
.ie-drop-row{display:flex;gap:6px;align-items:center}
.ie-kv-list{display:flex;flex-direction:column;gap:3px}
.ie-kv-row{display:flex;gap:4px;align-items:center}
-.ie-kv-key,.ie-kv-val{font-size:11px;padding:2px 4px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:3px;font-family:monospace;width:120px}
+.ie-kv-key,.ie-kv-val{font-size:11px;padding:3px 6px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:3px;font-family:monospace;width:120px}
.ie-kv-val{width:80px}
.ie-act-msg{font-size:11px;padding:3px 6px;background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:3px;font-family:monospace}
.ie-act-msg{flex:1}
@@ -455,12 +423,12 @@ g.ud-hover:hover text{font-weight:bold}
.ie-step-row{background:var(--act-bg);border:1px solid var(--act-bd);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:4px}
.ie-step-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ie-step-label{font-size:10px;color:var(--act-light);text-transform:uppercase;letter-spacing:.3px;font-weight:bold;white-space:nowrap}
-.ie-step-addmore{color:var(--act-light);border:1px solid var(--act-bd);background:transparent;font-size:10px;padding:1px 6px;border-radius:3px;cursor:pointer;font-family:monospace;line-height:1}
+.ie-step-addmore{color:var(--act-light);border:1px solid var(--act-bd);background:transparent;line-height:1}
.ie-step-addmore:hover{background:var(--act-bg)}
.ie-step-addmore::after{content:"+"}
.ie-step-row.show-addbar .ie-step-addmore::after{content:"-"}
.ie-step-spacer{flex:1}
-.ie-step-up,.ie-step-dn{padding:2px 6px;font-size:9px}
+.ie-step-up,.ie-step-dn{padding:0 5px;font-size:10px;line-height:1}
.ie-step-cond-panel{margin:2px 0}
.ie-cond-title{font-size:10px;color:var(--cond-light);text-transform:uppercase;letter-spacing:.3px;font-weight:bold;margin-bottom:2px}
.ie-step-effects{margin:2px 0}
@@ -472,14 +440,14 @@ g.ud-hover:hover text{font-weight:bold}
/* ── Message rows within a step ── */
.ie-msg-row{display:flex;align-items:center;gap:4px}
-.ie-msg-up,.ie-msg-dn{padding:1px 4px;font-size:9px;line-height:1}
+.ie-msg-up,.ie-msg-dn{padding:0 5px;font-size:10px;line-height:1}
/* ── Lock player checkbox ── */
.ie-lock-lbl{font-size:10px;color:var(--text);display:inline-flex;align-items:center;gap:3px;cursor:pointer;white-space:nowrap;margin-right:6px}
.ie-lock-cb{accent-color:var(--accent);margin:0}
/* ── Trigger row move up/down ── */
-.ie-trig-up,.ie-trig-dn{padding:2px 6px;font-size:9px}
+.ie-trig-up,.ie-trig-dn{padding:0 5px;font-size:10px;line-height:1}
/* ── Empty condition group placeholder ── */
.ie-cond-empty{margin-bottom:2px}
diff --git a/internal/admin/static/talktree.js b/internal/admin/static/talktree.js
index e55653e..8e35404 100644
--- a/internal/admin/static/talktree.js
+++ b/internal/admin/static/talktree.js
@@ -326,8 +326,8 @@
function renderAddNodeRow() {
return '<div class="talk-add-node-row">' +
- '<input class="talk-input talk-input-sm" id="talkNewNodeKey" placeholder="New node key (unique name)">' +
- '<button class="talk-add-btn" data-action="add-node">Add Node</button>' +
+ '<input class="talk-input" id="talkNewNodeKey" placeholder="New node key (unique name)">' +
+ '<button class="btn btn-sm talk-add-btn" data-action="add-node">Add Node</button>' +
'</div>';
}
@@ -368,7 +368,7 @@
h += '<span class="talk-node-key">' + esc(key) + '</span>';
h += '<span class="talk-node-preview">' + esc((getNodePreview(node) || '').substring(0, 60)) + '</span>';
h += '<span class="talk-node-spacer"></span>';
- h += '<button class="talk-node-btn talk-node-del" data-action="delete-node" data-nk="' + escAttr(key) + '">Remove</button>';
+ h += '<button class="btn btn-sm talk-node-btn talk-node-del" data-action="delete-node" data-nk="' + escAttr(key) + '">Remove</button>';
h += '</div>';
h += '<div class="talk-node-body">';
h += renderNodeBody(key, node, nodes);
@@ -398,7 +398,7 @@
html += '<span class="talk-node-key">' + esc(rootKey) + '</span>';
html += '<span class="talk-node-preview">' + esc((previewText || '').substring(0, 60)) + '</span>';
html += '<span class="talk-node-spacer"></span>';
- html += '<button class="talk-node-btn talk-node-del" data-action="delete-node" data-nk="' + escAttr(rootKey) + '">Remove</button>';
+ html += '<button class="btn btn-sm talk-node-btn talk-node-del" data-action="delete-node" data-nk="' + escAttr(rootKey) + '">Remove</button>';
html += '</div>';
html += '<div class="talk-node-body">';
@@ -443,14 +443,14 @@
html += '<div class="talk-cond-card cond">';
html += '<div class="talk-cond-card-header">' +
'Condition (for this node)' +
- '<button class="talk-section-remove" data-action="remove-node-cond" data-nk="' + escAttr(nodeKey) + '">Remove</button>' +
+ '<button class="btn btn-sm talk-section-remove" data-action="remove-node-cond" data-nk="' + escAttr(nodeKey) + '">Remove</button>' +
'</div>';
html += '<div class="talk-cond-card-body">';
html += ie_renderCond(node.condition, '', 0, '', '', {scopeToken: talkCondScope(nodeKey, null), alwaysOuterAddbar: true});
html += '</div>';
html += '</div>';
} else {
- html += '<button class="talk-add-cond-btn" data-action="add-node-cond" data-nk="' + escAttr(nodeKey) + '">+ Add Condition</button>';
+ html += '<button class="btn btn-sm talk-add-cond-btn" data-action="add-node-cond" data-nk="' + escAttr(nodeKey) + '">+ Add Condition</button>';
}
// Node messages (unchanged)
@@ -466,13 +466,13 @@
html += '<div class="talk-cond-card act" style="margin-top:4px">';
html += '<div class="talk-cond-card-header">' +
'Action (at the start of this node)' +
- '<button class="talk-section-remove" data-action="remove-node-act" data-nk="' + escAttr(nodeKey) + '">Remove</button></div>';
+ '<button class="btn btn-sm talk-section-remove" data-action="remove-node-act" data-nk="' + escAttr(nodeKey) + '">Remove</button></div>';
html += '<div class="talk-cond-card-body">';
html += talkRenderActionStep(nodeKey, null);
html += '</div>';
html += '</div>';
} else {
- html += '<button class="talk-add-act-btn" style="margin-top:4px" data-action="add-node-act" data-nk="' + escAttr(nodeKey) + '">+ Add Action</button>';
+ html += '<button class="btn btn-sm talk-add-act-btn" style="margin-top:4px" data-action="add-node-act" data-nk="' + escAttr(nodeKey) + '">+ Add Action</button>';
}
// Goto fallback
@@ -492,7 +492,7 @@
label = label || 'Auto-advance to';
return '<div class="talk-goto-fallback">' +
'<span class="talk-prop-label">' + esc(label) + '</span>' +
- '<input class="talk-input talk-input-sm search-input" data-tp="nodes.' + escAttr(nodeKey) + '.goto" list="talkNodeKeys" value="' + escAttr(node.goto || '') + '" placeholder="Fallback node...">' +
+ '<input class="talk-input search-input" data-tp="nodes.' + escAttr(nodeKey) + '.goto" list="talkNodeKeys" value="' + escAttr(node.goto || '') + '" placeholder="Fallback node...">' +
'</div>';
}
@@ -506,13 +506,13 @@
html += '<div class="talk-seq-line">' +
'<span class="talk-opt-arrow">&#10132;</span>' +
'<input class="talk-input" data-tp="nodes.' + escAttr(nodeKey) + '.messages.' + i + '" value="' + escAttr(line) + '" placeholder="Message line...">' +
- '<button class="talk-seq-del" data-action="delete-message" data-nk="' + escAttr(nodeKey) + '" data-oi="' + i + '">x</button>' +
+ '<button class="btn btn-sm talk-seq-del" data-action="delete-message" data-nk="' + escAttr(nodeKey) + '" data-oi="' + i + '">x</button>' +
'</div>';
});
html += '<div class="talk-seq-add-row">' +
'<span class="talk-opt-arrow">&#10132;</span>' +
'<input class="talk-input" id="talkMsgAdd_' + escAttr(nodeKey) + '" placeholder="Add message line...">' +
- '<button class="talk-add-btn" data-action="add-message" data-nk="' + escAttr(nodeKey) + '">Add</button>' +
+ '<button class="btn btn-sm talk-add-btn" data-action="add-message" data-nk="' + escAttr(nodeKey) + '">Add</button>' +
'</div>';
html += '</div>';
return html;
@@ -536,16 +536,16 @@
if (opt.condition && typeof opt.condition === 'object' && !Array.isArray(opt.condition)) {
html += '<span class="talk-opt-tag talk-opt-tag-cond">cond</span>';
} else {
- html += '<button class="talk-add-cond-btn" style="margin:0;margin-bottom:0" data-action="add-opt-cond" data-nk="' + escAttr(nodeKey) + '" data-oi="' + idx + '" title="Add condition">cond</button>';
+ html += '<button class="btn btn-sm talk-add-cond-btn" style="margin:0;margin-bottom:0" data-action="add-opt-cond" data-nk="' + escAttr(nodeKey) + '" data-oi="' + idx + '" title="Add condition">cond</button>';
}
if (opt.action) {
html += '<span class="talk-opt-tag talk-opt-tag-act">act</span>';
} else {
- html += '<button class="talk-add-act-btn" style="margin:0;margin-bottom:0" data-action="add-opt-act" data-nk="' + escAttr(nodeKey) + '" data-oi="' + idx + '" title="Add action">act</button>';
+ html += '<button class="btn btn-sm talk-add-act-btn" style="margin:0;margin-bottom:0" data-action="add-opt-act" data-nk="' + escAttr(nodeKey) + '" data-oi="' + idx + '" title="Add action">act</button>';
}
html += '</div>';
- html += '<button class="talk-opt-del" data-action="delete-option" data-nk="' + escAttr(nodeKey) + '" data-oi="' + idx + '" title="Delete option">x</button>';
+ html += '<button class="btn btn-sm talk-opt-del" data-action="delete-option" data-nk="' + escAttr(nodeKey) + '" data-oi="' + idx + '" title="Delete option">x</button>';
html += '</div>';
// Option condition detail
@@ -553,7 +553,7 @@
html += '<div class="talk-opt-detail" style="display:block;margin-left:18px">';
html += '<div class="talk-cond-card cond" style="margin-top:2px">';
html += '<div class="talk-cond-card-header">Condition (for this option to show up)' +
- '<button class="talk-section-remove" data-action="remove-opt-cond" data-nk="' + escAttr(nodeKey) + '" data-oi="' + idx + '">Remove</button></div>';
+ '<button class="btn btn-sm talk-section-remove" data-action="remove-opt-cond" data-nk="' + escAttr(nodeKey) + '" data-oi="' + idx + '">Remove</button></div>';
html += '<div class="talk-cond-card-body">';
html += ie_renderCond(opt.condition, '', 0, '', '', {scopeToken: talkCondScope(nodeKey, idx), alwaysOuterAddbar: true});
html += '</div>';
@@ -567,7 +567,7 @@
html += '<div class="talk-cond-card act" style="margin-top:2px">';
html += '<div class="talk-cond-card-header">' +
'Action (when this option is chosen)' +
- '<button class="talk-section-remove" data-action="remove-opt-act" data-nk="' + escAttr(nodeKey) + '" data-oi="' + idx + '">Remove</button></div>';
+ '<button class="btn btn-sm talk-section-remove" data-action="remove-opt-act" data-nk="' + escAttr(nodeKey) + '" data-oi="' + idx + '">Remove</button></div>';
html += '<div class="talk-cond-card-body">';
html += talkRenderActionStep(nodeKey, idx);
html += '</div>';
@@ -583,8 +583,11 @@
'<span class="talk-seq-num" style="color:#555">' + (options.length + 1) + '</span>' +
'<input class="talk-input talk-opt-text" id="talkOptText_' + escAttr(nodeKey) + '" placeholder="Option text...">' +
'<input class="talk-input talk-opt-goto search-input" id="talkOptGoto_' + escAttr(nodeKey) + '" list="talkNodeKeys" placeholder="Goto...">' +
- '<span class="talk-opt-gap"></span>' +
- '<button class="talk-add-btn" data-action="add-option" data-nk="' + escAttr(nodeKey) + '">Add</button>' +
+ '<span class="talk-opt-edit-actions" style="visibility:hidden;pointer-events:none">' +
+ '<button class="btn btn-sm talk-add-cond-btn" style="margin:0">cond</button>' +
+ '<button class="btn btn-sm talk-add-act-btn" style="margin:0">act</button>' +
+ '</span>' +
+ '<button class="btn btn-sm talk-add-btn" data-action="add-option" data-nk="' + escAttr(nodeKey) + '">Add</button>' +
'</div>';
html += '</div>';