refactor: extract isDarkMode/getColorPrefix to settings.js as shared utilities
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -5,20 +5,10 @@
|
|||||||
let darkModeObserver = null;
|
let darkModeObserver = null;
|
||||||
let currentSettings = null;
|
let currentSettings = null;
|
||||||
|
|
||||||
function isDarkMode(settings) {
|
|
||||||
if (settings.darkMode === "light") return false;
|
|
||||||
if (settings.darkMode === "dark") return true;
|
|
||||||
return document.body.classList.contains("res-nightmode");
|
|
||||||
}
|
|
||||||
|
|
||||||
function getColorPrefix(settings) {
|
|
||||||
return isDarkMode(settings) ? "dark" : "light";
|
|
||||||
}
|
|
||||||
|
|
||||||
function applyColorsToContainer(container, settings, subredditName) {
|
function applyColorsToContainer(container, settings, subredditName) {
|
||||||
const prefix = getColorPrefix(settings);
|
const prefix = window.RedditTweaks.getColorPrefix(settings);
|
||||||
|
|
||||||
if (isDarkMode(settings)) {
|
if (window.RedditTweaks.isDarkMode(settings)) {
|
||||||
container.classList.add("rt-dark");
|
container.classList.add("rt-dark");
|
||||||
} else {
|
} else {
|
||||||
container.classList.remove("rt-dark");
|
container.classList.remove("rt-dark");
|
||||||
@@ -173,7 +163,7 @@
|
|||||||
window.RedditTweaks.badgeTweak = {
|
window.RedditTweaks.badgeTweak = {
|
||||||
apply: apply,
|
apply: apply,
|
||||||
updateColors: updateColors,
|
updateColors: updateColors,
|
||||||
isDarkMode: isDarkMode,
|
isDarkMode: window.RedditTweaks.isDarkMode,
|
||||||
getColorPrefix: getColorPrefix,
|
getColorPrefix: window.RedditTweaks.getColorPrefix,
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
function getHelpers() {
|
function getHelpers() {
|
||||||
return {
|
return {
|
||||||
isDarkMode: window.RedditTweaks.badgeTweak.isDarkMode,
|
isDarkMode: window.RedditTweaks.isDarkMode,
|
||||||
getColorPrefix: window.RedditTweaks.badgeTweak.getColorPrefix,
|
getColorPrefix: window.RedditTweaks.getColorPrefix,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,10 @@
|
|||||||
"dark.commentsTextColor": "#cccccc",
|
"dark.commentsTextColor": "#cccccc",
|
||||||
subredditColors: {},
|
subredditColors: {},
|
||||||
colorPresets: [],
|
colorPresets: [],
|
||||||
|
badgeLayout: true,
|
||||||
|
cardLayout: true,
|
||||||
|
cardBackground: "reddit",
|
||||||
|
cardGap: 16,
|
||||||
};
|
};
|
||||||
|
|
||||||
function migrateSubredditColors(colors) {
|
function migrateSubredditColors(colors) {
|
||||||
@@ -60,9 +64,21 @@
|
|||||||
await browser.storage.local.clear();
|
await browser.storage.local.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isDarkMode(settings) {
|
||||||
|
if (settings.darkMode === "light") return false;
|
||||||
|
if (settings.darkMode === "dark") return true;
|
||||||
|
return document.body.classList.contains("res-nightmode");
|
||||||
|
}
|
||||||
|
|
||||||
|
function getColorPrefix(settings) {
|
||||||
|
return isDarkMode(settings) ? "dark" : "light";
|
||||||
|
}
|
||||||
|
|
||||||
window.RedditTweaks = window.RedditTweaks || {};
|
window.RedditTweaks = window.RedditTweaks || {};
|
||||||
window.RedditTweaks.DEFAULTS = DEFAULTS;
|
window.RedditTweaks.DEFAULTS = DEFAULTS;
|
||||||
window.RedditTweaks.loadSettings = loadSettings;
|
window.RedditTweaks.loadSettings = loadSettings;
|
||||||
window.RedditTweaks.saveSettings = saveSettings;
|
window.RedditTweaks.saveSettings = saveSettings;
|
||||||
window.RedditTweaks.resetSettings = resetSettings;
|
window.RedditTweaks.resetSettings = resetSettings;
|
||||||
|
window.RedditTweaks.isDarkMode = isDarkMode;
|
||||||
|
window.RedditTweaks.getColorPrefix = getColorPrefix;
|
||||||
})();
|
})();
|
||||||
|
|||||||
Reference in New Issue
Block a user