summaryrefslogtreecommitdiff
path: root/popup/popup.js
diff options
context:
space:
mode:
Diffstat (limited to 'popup/popup.js')
-rw-r--r--popup/popup.js23
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);
}