diff --git a/content/main.js b/content/main.js index 6703f4e..13ca38a 100644 --- a/content/main.js +++ b/content/main.js @@ -5,6 +5,7 @@ const settings = await window.RedditTweaks.loadSettings(); if (!settings.enabled) return; + document.documentElement.classList.add("rt-enabled"); window.RedditTweaks.badgeTweak.apply(settings); browser.storage.onChanged.addListener(function (changes) { diff --git a/content/styles/badges.css b/content/styles/badges.css index 4a5934b..28ab4a8 100644 --- a/content/styles/badges.css +++ b/content/styles/badges.css @@ -1,6 +1,6 @@ /* --- FOUC prevention: hide original elements immediately --- */ -.thing.link .tagline .subreddit, -.thing.link .flat-list .comments { +html.rt-enabled .thing.link .tagline .subreddit, +html.rt-enabled .thing.link .flat-list .comments { display: none !important; } diff --git a/lib/settings.js b/lib/settings.js index 17a79ba..0cbf8e2 100644 --- a/lib/settings.js +++ b/lib/settings.js @@ -21,7 +21,9 @@ async function loadSettings() { const stored = await browser.storage.local.get(null); - return Object.assign({}, DEFAULTS, stored); + const merged = Object.assign({}, DEFAULTS, stored); + merged.subredditColors = Object.assign({}, merged.subredditColors); + return merged; } async function saveSettings(settings) { diff --git a/popup/popup.js b/popup/popup.js index ac158b3..c012f0e 100644 --- a/popup/popup.js +++ b/popup/popup.js @@ -115,7 +115,7 @@ return overrides; } - function saveFromControls() { + async function saveFromControls() { const settings = { enabled: document.getElementById("enabled").checked, darkMode: document.getElementById("darkMode").value, @@ -134,7 +134,11 @@ } }); - window.RedditTweaks.saveSettings(settings); + try { + await window.RedditTweaks.saveSettings(settings); + } catch (err) { + console.error("Reddit Tweaks: failed to save settings", err); + } } async function init() {