Display optional modules for extensions

This commit is contained in:
SillyLossy
2023-03-27 23:48:13 +03:00
parent b65e8b4286
commit b71d7006ab
7 changed files with 19 additions and 0 deletions

View File

@ -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>`;

View File

@ -4,6 +4,7 @@
"requires": [ "requires": [
"caption" "caption"
], ],
"optional": [],
"js": "index.js", "js": "index.js",
"css": "style.css" "css": "style.css"
} }

View File

@ -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"
} }

View File

@ -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"
} }

View File

@ -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"
} }

View File

@ -4,6 +4,7 @@
"requires": [ "requires": [
"summarize" "summarize"
], ],
"optional": [],
"js": "index.js", "js": "index.js",
"css": "style.css" "css": "style.css"
} }

View File

@ -2655,6 +2655,10 @@ label[for="extensions_autoconnect"] {
color: red; color: red;
} }
.optional {
color: lightgray;
}
.expander { .expander {
flex-grow: 1; flex-grow: 1;
} }