From fcef854b87f121817e5335b4410e5baaa0a937e5 Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@mailbox.org> Date: Thu, 3 Apr 2025 16:37:33 +0200 Subject: [PATCH] Move condition editor from it's own tab into a box above the tab row --- css/rulesAssistant/conditionEditor.css | 6 ++--- css/rulesAssistant/raLists.css | 6 ++++- src/js/rulesAssistantOptions.js | 32 +++++++++++++++----------- 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/css/rulesAssistant/conditionEditor.css b/css/rulesAssistant/conditionEditor.css index c7c71c98196..89153be51e3 100644 --- a/css/rulesAssistant/conditionEditor.css +++ b/css/rulesAssistant/conditionEditor.css @@ -28,7 +28,7 @@ display: inline-block; border-radius: 8px; border: 2px solid var(--button-border-color); - background-color: var(--background-lighter); + background-color: var(--background-default); padding: 4px; margin: 4px; } @@ -133,8 +133,8 @@ } .condition-switch { - margin-top: 1em; - margin-bottom: 1em; + margin-top: 0.5em; + margin-bottom: 0.5em; } .condition-custom { diff --git a/css/rulesAssistant/raLists.css b/css/rulesAssistant/raLists.css index 7a68b4ac9cf..5973f925091 100644 --- a/css/rulesAssistant/raLists.css +++ b/css/rulesAssistant/raLists.css @@ -31,13 +31,17 @@ margin: 0.25em; } -.rajs-rule-selector { +.rajs-box { border: 2px solid var(--button-border-color); background: var(--background-lighter); padding: 0.5em; margin-bottom: 1em; } +.rajs-box h2 { + margin-top: 0; +} + .current-rule-name { font-weight: bold; font-size: 1.5em; diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index 610b0373837..9c4fe5b2feb 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -229,20 +229,13 @@ App.RA.options = (function() { } class Tab extends Element { - /** - * @param {string} [customCssClass] - */ - constructor(customCssClass = null) { + constructor() { super(); - if (customCssClass === null) { - this.tabContent_.classList.add("ra-container"); - } else if (customCssClass !== "") { - this.tabContent_.classList.add(customCssClass); - } } render() { this.tabContent_ = document.createElement("div"); + this.tabContent_.classList.add("ra-container"); return this.tabContent_; } @@ -253,6 +246,14 @@ App.RA.options = (function() { } } + class HeaderElement extends Element { + /** + * @param {string} header + */ + constructor(header) { + super(App.UI.DOM.makeElement("h2", header)); + } + } class NoteElement extends Element { /** @@ -1236,9 +1237,9 @@ App.RA.options = (function() { if (V.defaultRules.length === 0) { return; } + this.appendChild(new ActivationConditionContainer()); const tabBar = new App.UI.Tabs.TabBar("ra"); - tabBar.addTab("Activation Condition", "condition", (new ConditionEditorTab()).element); tabBar.addTab("Appearance", "appearance", (new AppearanceTab()).element); tabBar.addTab("Cosmetic", "cosmetic", (new CosmeticTab()).element); tabBar.addTab("Body Mod", "body-mod", (new BodyModTab()).element); @@ -1273,7 +1274,7 @@ App.RA.options = (function() { class RuleSelectorContainer extends Element { constructor() { const div = document.createElement("div"); - div.classList.add("rajs-rule-selector"); + div.classList.add("rajs-box"); super(div); if (V.defaultRules.length === 0) { const paragraph = document.createElement("div"); @@ -1412,10 +1413,13 @@ App.RA.options = (function() { } } - class ConditionEditorTab extends Tab { + class ActivationConditionContainer extends Element { constructor() { - super(""); - this.appendChild(new NoteElement("Control which slaves this rule will be applied to.")); + const div = document.createElement("div"); + div.classList.add("rajs-box"); + super(div); + this.appendChild(new HeaderElement("Activation Condition")); + this.appendChild(new NoteElement("Controls which slaves this rule will be applied to.")); this.appendChild(new ConditionBuilder()); this.appendChild(new SpecificInclusionExclusion()); this.appendChild(new ApplyRuleOnce()); -- GitLab