Add hidden/invisible/auto-exec only QR buttons
This commit is contained in:
parent
720da5649b
commit
f1d375c2ba
|
@ -27,6 +27,10 @@
|
|||
<input type="checkbox" id="quickReply_autoExecute_botMessage" >
|
||||
<span><i class="fa-solid fa-fw fa-robot"></i> Execute on AI message</span>
|
||||
</label>
|
||||
<label class="checkbox_label" for="quickReply_hidden">
|
||||
<input type="checkbox" id="quickReply_hidden" >
|
||||
<span><i class="fa-solid fa-fw fa-eye-slash"></i> Invisible (auto-execute only)</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -154,6 +154,13 @@ async function onQuickReplyCtxButtonClick(id) {
|
|||
|
||||
$('#quickReply_autoExecute_userMessage').prop('checked', qr.autoExecute_userMessage ?? false);
|
||||
$('#quickReply_autoExecute_botMessage').prop('checked', qr.autoExecute_botMessage ?? false);
|
||||
$('#quickReply_hidden').prop('checked', qr.hidden ?? false);
|
||||
|
||||
$('#quickReply_hidden').on('input', () => {
|
||||
const state = !!$('#quickReply_hidden').prop('checked');
|
||||
qr.hidden = state;
|
||||
saveSettingsDebounced();
|
||||
});
|
||||
|
||||
$('#quickReply_autoExecute_userMessage').on('input', () => {
|
||||
const state = !!$('#quickReply_autoExecute_userMessage').prop('checked');
|
||||
|
@ -289,13 +296,15 @@ function addQuickReplyBar() {
|
|||
let quickReplyButtonHtml = '';
|
||||
|
||||
for (let i = 0; i < extension_settings.quickReply.numberOfSlots; i++) {
|
||||
let quickReplyMes = extension_settings.quickReply.quickReplySlots[i]?.mes || '';
|
||||
let quickReplyLabel = extension_settings.quickReply.quickReplySlots[i]?.label || '';
|
||||
const qr = extension_settings.quickReply.quickReplySlots[i];
|
||||
const quickReplyMes = qr?.mes || '';
|
||||
const quickReplyLabel = qr?.label || '';
|
||||
const hidden = qr?.hidden ?? false;
|
||||
let expander = '';
|
||||
if (extension_settings.quickReply.quickReplySlots[i]?.contextMenu?.length) {
|
||||
expander = '<span class="ctx-expander" title="Open context menu">⋮</span>';
|
||||
}
|
||||
quickReplyButtonHtml += `<div title="${quickReplyMes}" class="quickReplyButton" data-index="${i}" id="quickReply${i + 1}">${quickReplyLabel}${expander}</div>`;
|
||||
quickReplyButtonHtml += `<div title="${quickReplyMes}" class="quickReplyButton ${hidden ? 'displayNone' : ''}" data-index="${i}" id="quickReply${i + 1}">${quickReplyLabel}${expander}</div>`;
|
||||
}
|
||||
|
||||
const quickReplyBarFullHtml = `
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#quickReplyBar {
|
||||
outline: none;
|
||||
/*
|
||||
padding: 5px 0;
|
||||
border-bottom: 1px solid var(--SmartThemeBorderColor);
|
||||
*/
|
||||
margin: 0;
|
||||
transition: 0.3s;
|
||||
opacity: 0.7;
|
||||
|
@ -31,6 +33,7 @@
|
|||
border: 1px solid var(--SmartThemeBorderColor);
|
||||
border-radius: 10px;
|
||||
padding: 3px 5px;
|
||||
margin: 3px 0;
|
||||
width: min-content;
|
||||
cursor: pointer;
|
||||
transition: 0.3s;
|
||||
|
@ -101,4 +104,4 @@
|
|||
.list-group .list-group-item.ctx-item {
|
||||
padding: 1em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue