diff --git a/src/zen/mods/ZenMods.mjs b/src/zen/mods/ZenMods.mjs index 11c002bfe..a836f483a 100644 --- a/src/zen/mods/ZenMods.mjs +++ b/src/zen/mods/ZenMods.mjs @@ -182,15 +182,21 @@ class nsZenMods extends nsZenPreloadedFeature { ({ enabled, preferences, name }) => ({ enabled, sanitizedName: this.sanitizeModName(name), - prefs: preferences.map(({ property, type }) => ({ - property, - type, - sanitizedProperty: property?.replaceAll(DOT_RE, "-"), - value: - enabled === undefined || enabled - ? Services.prefs.getStringPref(property, "") - : "", - })), + prefs: preferences.map(({ property, type }) => { + const isEnabled = enabled === undefined || enabled; + const getPref = + type === "checkbox" + ? Services.prefs.getBoolPref + : Services.prefs.getStringPref; + const fallback = type === "checkbox" ? false : ""; + + return { + property, + type, + sanitizedProperty: property?.replaceAll(DOT_RE, "-"), + value: isEnabled ? getPref(property, fallback) : fallback, + }; + }), }) );