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();
|
const settings = await window.RedditTweaks.loadSettings();
|
||||||
if (!settings.enabled) return;
|
if (!settings.enabled) return;
|
||||||
|
|
||||||
|
document.documentElement.classList.add("rt-enabled");
|
||||||
window.RedditTweaks.badgeTweak.apply(settings);
|
window.RedditTweaks.badgeTweak.apply(settings);
|
||||||
|
|
||||||
browser.storage.onChanged.addListener(function (changes) {
|
browser.storage.onChanged.addListener(function (changes) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* --- FOUC prevention: hide original elements immediately --- */
|
/* --- FOUC prevention: hide original elements immediately --- */
|
||||||
.thing.link .tagline .subreddit,
|
html.rt-enabled .thing.link .tagline .subreddit,
|
||||||
.thing.link .flat-list .comments {
|
html.rt-enabled .thing.link .flat-list .comments {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,9 @@
|
|||||||
|
|
||||||
async function loadSettings() {
|
async function loadSettings() {
|
||||||
const stored = await browser.storage.local.get(null);
|
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) {
|
async function saveSettings(settings) {
|
||||||
|
|||||||
@@ -115,7 +115,7 @@
|
|||||||
return overrides;
|
return overrides;
|
||||||
}
|
}
|
||||||
|
|
||||||
function saveFromControls() {
|
async function saveFromControls() {
|
||||||
const settings = {
|
const settings = {
|
||||||
enabled: document.getElementById("enabled").checked,
|
enabled: document.getElementById("enabled").checked,
|
||||||
darkMode: document.getElementById("darkMode").value,
|
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() {
|
async function init() {
|
||||||
|
|||||||
Reference in New Issue
Block a user