diff --git a/out/main/index.js b/out/main/index.js index aabd21d..d107034 100644 --- a/out/main/index.js +++ b/out/main/index.js @@ -68,12 +68,14 @@ class Config { } parsed = { ...parsed ? parsed : {}, - activeAdapter: this.defaultPlugin.id + activeAdapter: this.defaultPlugin.id, + adapters: {} }; parsed.adapters[this.defaultPlugin.id] = defaultConfig; + parsed[theme] = "dark"; await this.write(parsed); } else { - parsed.adapterConfig = this._resolveDefaults(parsed.adapterConfig); + parsed.adapters = this._resolveDefaults(parsed.adapters); } return parsed; } @@ -82,7 +84,7 @@ class Config { await fs.mkdir(dir, { recursive: true }); const resolvedConfig = { ...configObject, - adapterConfig: this._resolveDefaults(configObject.adapterConfig) + adapters: this._resolveDefaults(configObject.adapters) }; await fs.writeFile( this.configPath, diff --git a/src/main/core/Config.js b/src/main/core/Config.js index ea1cd3b..57abdfd 100644 --- a/src/main/core/Config.js +++ b/src/main/core/Config.js @@ -50,13 +50,16 @@ export default class Config { parsed = { ...(parsed ? parsed : {}), activeAdapter: this.defaultPlugin.id, + adapters: {}, } parsed.adapters[this.defaultPlugin.id] = defaultConfig + parsed[theme] = 'dark' + await this.write(parsed) } else { // Ensure any "__DEFAULT_USER_DATA__" values are resolved on load - parsed.adapterConfig = this._resolveDefaults(parsed.adapterConfig) + parsed.adapters = this._resolveDefaults(parsed.adapters) } return parsed @@ -71,7 +74,7 @@ export default class Config { // Resolve defaults before writing const resolvedConfig = { ...configObject, - adapterConfig: this._resolveDefaults(configObject.adapterConfig), + adapters: this._resolveDefaults(configObject.adapters), } await fs.writeFile( diff --git a/src/renderer/src/views/Preferences.vue b/src/renderer/src/views/Preferences.vue index 79d5750..475a485 100644 --- a/src/renderer/src/views/Preferences.vue +++ b/src/renderer/src/views/Preferences.vue @@ -57,6 +57,26 @@ const { plugins, setActivePlugin } = await usePlugins() const { config, ensureConfig } = useConfig() await ensureConfig() +const normalizeConfig = () => { + if (!config.value.adapters) { + config.value.adapters = {} + } + + for (const plugin of plugins.value) { + if (!config.value.adapters[plugin.id]) { + config.value.adapters[plugin.id] = {} + } + + for (const field of plugin.configSchema) { + if (config.value.adapters[plugin.id][field.key] === undefined) { + config.value.adapters[plugin.id][field.key] = + field.default ?? '' + } + } + } +} +normalizeConfig() + const selectedPluginId = ref(config.value.activeAdapter) const validationError = ref('') @@ -117,11 +137,11 @@ const save = async () => { width: 10px; height: 10px; margin-right: 10px; - border: 1px solid white; + border: 1px solid var(--theme-fg); cursor: pointer; &:checked { - background-color: white; + background-color: var(--theme-fg); } }