feat: add badgeLayout toggle, rename FOUC class to rt-badges-enabled
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user