diff options
Diffstat (limited to 'popup/popup.js')
-rw-r--r-- | popup/popup.js | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/popup/popup.js b/popup/popup.js index 8feac4d..6448194 100644 --- a/popup/popup.js +++ b/popup/popup.js @@ -278,24 +278,39 @@ new (class ExtensionPopup { this.currentSiteFeatures.appendChild(skipForceThemingToggle); } + + // Check if transparency is globally disabled + const isTransparencyDisabled = this.globalSettings.disableTransparency === true; + for (const [feature, css] of Object.entries(features)) { const displayFeatureName = feature.includes("-") ? feature.split("-")[1] : feature; const isChecked = this.siteSettings[feature] ?? true; + const isTransparencyFeature = feature.toLowerCase().includes("transparency"); + const isOverridden = isTransparencyDisabled && isTransparencyFeature; const featureToggle = document.createElement("div"); featureToggle.className = "feature-toggle"; - featureToggle.innerHTML = ` - <span class="feature-name">${displayFeatureName}</span> - <label class="toggle-switch"> + + // Create the base toggle HTML + let toggleHTML = ` + <span class="feature-name">${displayFeatureName}${isOverridden ? ' <span class="overridden-label">[overridden]</span>' : ''}</span> + <label class="toggle-switch ${isOverridden ? 'disabled-toggle' : ''}"> <input type="checkbox" name="${currentSiteKey}|${feature}" ${ isChecked ? "checked" : "" - }> + } ${isOverridden ? "disabled" : ""}> <span class="slider round"></span> </label> `; + + featureToggle.innerHTML = toggleHTML; + + // If this is a transparency feature and it's disabled globally, add a class + if (isOverridden) { + featureToggle.classList.add("overridden-feature"); + } this.currentSiteFeatures.appendChild(featureToggle); } |