feat: add badgeLayout toggle, rename FOUC class to rt-badges-enabled

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-26 21:10:48 -04:00
parent 7ac47b5c3c
commit 8d3ff72f4f
4 changed files with 20 additions and 6 deletions

View File

@@ -5,17 +5,24 @@
const settings = await window.RedditTweaks.loadSettings();
if (!settings.enabled) return;
document.documentElement.classList.add("rt-enabled");
window.RedditTweaks.badgeTweak.apply(settings);
if (settings.badgeLayout) {
document.documentElement.classList.add("rt-badges-enabled");
window.RedditTweaks.badgeTweak.apply(settings);
}
browser.storage.onChanged.addListener(function (changes) {
if (changes.enabled && changes.enabled.newValue !== changes.enabled.oldValue) {
if (
(changes.enabled && changes.enabled.newValue !== changes.enabled.oldValue) ||
(changes.badgeLayout && changes.badgeLayout.newValue !== changes.badgeLayout.oldValue)
) {
location.reload();
return;
}
window.RedditTweaks.loadSettings().then(function (updated) {
window.RedditTweaks.badgeTweak.updateColors(updated);
if (settings.badgeLayout) {
window.RedditTweaks.badgeTweak.updateColors(updated);
}
});
});
}

View File

@@ -1,6 +1,6 @@
/* --- FOUC prevention: hide original elements immediately --- */
html.rt-enabled .thing.link .tagline .subreddit,
html.rt-enabled .thing.link .flat-list li:has(> .comments) {
html.rt-badges-enabled .thing.link .tagline .subreddit,
html.rt-badges-enabled .thing.link .flat-list li:has(> .comments) {
display: none !important;
}

View File

@@ -13,6 +13,10 @@
<span>Enabled</span>
<input type="checkbox" id="enabled">
</label>
<label class="toggle-row">
<span>Badge layout</span>
<input type="checkbox" id="badgeLayout">
</label>
</div>
<div class="section">

View File

@@ -68,6 +68,7 @@
function populateControls(settings) {
document.getElementById("enabled").checked = settings.enabled;
document.getElementById("badgeLayout").checked = settings.badgeLayout;
document.getElementById("darkMode").value = settings.darkMode;
COLOR_KEYS.forEach(function (key) {
@@ -280,6 +281,7 @@
async function saveFromControls() {
var settings = {
enabled: document.getElementById("enabled").checked,
badgeLayout: document.getElementById("badgeLayout").checked,
darkMode: document.getElementById("darkMode").value,
subredditColors: collectSubredditOverrides(),
};
@@ -301,6 +303,7 @@
populateControls(settings);
document.getElementById("enabled").addEventListener("change", saveFromControls);
document.getElementById("badgeLayout").addEventListener("change", saveFromControls);
document.getElementById("darkMode").addEventListener("change", saveFromControls);
COLOR_KEYS.forEach(function (key) {