mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Display optional modules for extensions
This commit is contained in:
@ -211,6 +211,14 @@ function showExtensionsDetails() {
|
|||||||
html += `<h4>${DOMPurify.sanitize(manifest.display_name)}</h4>`;
|
html += `<h4>${DOMPurify.sanitize(manifest.display_name)}</h4>`;
|
||||||
if (activeExtensions.has(name)) {
|
if (activeExtensions.has(name)) {
|
||||||
html += `<p class="success">Extension is active. <a href="javascript:void" data-name="${name}" class="disable_extension">Disable</a></p>`;
|
html += `<p class="success">Extension is active. <a href="javascript:void" data-name="${name}" class="disable_extension">Disable</a></p>`;
|
||||||
|
if (Array.isArray(manifest.optional)) {
|
||||||
|
const optional = new Set(manifest.optional);
|
||||||
|
modules.forEach(x => optional.delete(x));
|
||||||
|
if (optional.size > 0) {
|
||||||
|
const optionalString = DOMPurify.sanitize([...optional].join(', '));
|
||||||
|
html += `<p>Optional modules: <span class="optional">${optionalString}</span></p>`;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (disabledExtensions.includes(name)) {
|
else if (disabledExtensions.includes(name)) {
|
||||||
html += `<p class="disabled">Extension is disabled. <a href="javascript:void" data-name=${name} class="enable_extension">Enable</a></p>`;
|
html += `<p class="disabled">Extension is disabled. <a href="javascript:void" data-name=${name} class="enable_extension">Enable</a></p>`;
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
"requires": [
|
"requires": [
|
||||||
"caption"
|
"caption"
|
||||||
],
|
],
|
||||||
|
"optional": [],
|
||||||
"js": "index.js",
|
"js": "index.js",
|
||||||
"css": "style.css"
|
"css": "style.css"
|
||||||
}
|
}
|
@ -2,6 +2,7 @@
|
|||||||
"display_name": "D&D Dice",
|
"display_name": "D&D Dice",
|
||||||
"loading_order": 5,
|
"loading_order": 5,
|
||||||
"requires": [],
|
"requires": [],
|
||||||
|
"optional": [],
|
||||||
"js": "index.js",
|
"js": "index.js",
|
||||||
"css": "style.css"
|
"css": "style.css"
|
||||||
}
|
}
|
@ -2,6 +2,9 @@
|
|||||||
"display_name": "Character Expressions",
|
"display_name": "Character Expressions",
|
||||||
"loading_order": 6,
|
"loading_order": 6,
|
||||||
"requires": [],
|
"requires": [],
|
||||||
|
"optional": [
|
||||||
|
"classify"
|
||||||
|
],
|
||||||
"js": "index.js",
|
"js": "index.js",
|
||||||
"css": "style.css"
|
"css": "style.css"
|
||||||
}
|
}
|
@ -2,6 +2,7 @@
|
|||||||
"display_name": "Floating Prompt / Author's Note",
|
"display_name": "Floating Prompt / Author's Note",
|
||||||
"loading_order": 1,
|
"loading_order": 1,
|
||||||
"requires": [],
|
"requires": [],
|
||||||
|
"optional": [],
|
||||||
"js": "index.js",
|
"js": "index.js",
|
||||||
"css": "style.css"
|
"css": "style.css"
|
||||||
}
|
}
|
@ -4,6 +4,7 @@
|
|||||||
"requires": [
|
"requires": [
|
||||||
"summarize"
|
"summarize"
|
||||||
],
|
],
|
||||||
|
"optional": [],
|
||||||
"js": "index.js",
|
"js": "index.js",
|
||||||
"css": "style.css"
|
"css": "style.css"
|
||||||
}
|
}
|
@ -2655,6 +2655,10 @@ label[for="extensions_autoconnect"] {
|
|||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.optional {
|
||||||
|
color: lightgray;
|
||||||
|
}
|
||||||
|
|
||||||
.expander {
|
.expander {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user