fix: disabled-state UI, settings shallow-merge, and popup save reliability
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user