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(); const settings = await window.RedditTweaks.loadSettings();
if (!settings.enabled) return; if (!settings.enabled) return;
document.documentElement.classList.add("rt-enabled"); if (settings.badgeLayout) {
document.documentElement.classList.add("rt-badges-enabled");
window.RedditTweaks.badgeTweak.apply(settings); window.RedditTweaks.badgeTweak.apply(settings);
}
browser.storage.onChanged.addListener(function (changes) { 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(); location.reload();
return; return;
} }
window.RedditTweaks.loadSettings().then(function (updated) { window.RedditTweaks.loadSettings().then(function (updated) {
if (settings.badgeLayout) {
window.RedditTweaks.badgeTweak.updateColors(updated); window.RedditTweaks.badgeTweak.updateColors(updated);
}
}); });
}); });
} }

View File

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

View File

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

View File

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