summaryrefslogtreecommitdiff
path: root/shared
diff options
context:
space:
mode:
Diffstat (limited to 'shared')
-rw-r--r--shared/constants.js1
-rw-r--r--shared/defaults.js34
2 files changed, 35 insertions, 0 deletions
diff --git a/shared/constants.js b/shared/constants.js
index 132bbec..03c7bc3 100644
--- a/shared/constants.js
+++ b/shared/constants.js
@@ -1,2 +1,3 @@
export const BROWSER_STORAGE_KEY = "transparentZenSettings";
export const SKIP_FORCE_THEMING_KEY = "skipForceThemingList";
+export const FALLBACK_BACKGROUND_KEY = "fallbackBackgroundList";
diff --git a/shared/defaults.js b/shared/defaults.js
new file mode 100644
index 0000000..db637fc
--- /dev/null
+++ b/shared/defaults.js
@@ -0,0 +1,34 @@
+/**
+ * Default settings for Zen Internet extension
+ * These defaults are used when settings are missing or undefined
+ */
+
+export const DEFAULT_SETTINGS = {
+ enableStyling: true, // Enable styling globally
+ autoUpdate: true, // Auto-update styles
+ forceStyling: false, // Force styling on sites without themes
+ whitelistMode: false, // Use blacklist mode by default for force styling
+ whitelistStyleMode: false, // Use blacklist mode by default for regular styling
+ disableTransparency: false, // Don't disable transparency by default
+ disableHover: false, // Don't disable hover effects by default
+ disableFooter: false, // Don't disable footers by default
+ fallbackBackgroundList: [], // Empty array for fallback background sites
+};
+
+/**
+ * Ensures all required settings are present with default values
+ * @param {Object} settings - Current settings object
+ * @returns {Object} - Settings object with defaults applied where needed
+ */
+export function ensureDefaultSettings(settings = {}) {
+ const result = { ...settings };
+
+ // Apply default values for any missing settings
+ for (const [key, defaultValue] of Object.entries(DEFAULT_SETTINGS)) {
+ if (result[key] === undefined) {
+ result[key] = defaultValue;
+ }
+ }
+
+ return result;
+}