Merge branch 'main' of https://github.com/nicwands/takerofnotes-app
Some checks failed
Build Electron App / build (macos-latest, build:mac) (push) Has been cancelled
Build Electron App / build (ubuntu-latest, build:linux) (push) Has been cancelled
Build Electron App / build (windows-latest, build:win) (push) Has been cancelled

This commit is contained in:
nicwands
2026-03-12 14:44:36 -04:00
3 changed files with 32 additions and 7 deletions

View File

@@ -68,12 +68,14 @@ class Config {
} }
parsed = { parsed = {
...parsed ? parsed : {}, ...parsed ? parsed : {},
activeAdapter: this.defaultPlugin.id activeAdapter: this.defaultPlugin.id,
adapters: {}
}; };
parsed.adapters[this.defaultPlugin.id] = defaultConfig; parsed.adapters[this.defaultPlugin.id] = defaultConfig;
parsed[theme] = "dark";
await this.write(parsed); await this.write(parsed);
} else { } else {
parsed.adapterConfig = this._resolveDefaults(parsed.adapterConfig); parsed.adapters = this._resolveDefaults(parsed.adapters);
} }
return parsed; return parsed;
} }
@@ -82,7 +84,7 @@ class Config {
await fs.mkdir(dir, { recursive: true }); await fs.mkdir(dir, { recursive: true });
const resolvedConfig = { const resolvedConfig = {
...configObject, ...configObject,
adapterConfig: this._resolveDefaults(configObject.adapterConfig) adapters: this._resolveDefaults(configObject.adapters)
}; };
await fs.writeFile( await fs.writeFile(
this.configPath, this.configPath,

View File

@@ -50,13 +50,16 @@ export default class Config {
parsed = { parsed = {
...(parsed ? parsed : {}), ...(parsed ? parsed : {}),
activeAdapter: this.defaultPlugin.id, activeAdapter: this.defaultPlugin.id,
adapters: {},
} }
parsed.adapters[this.defaultPlugin.id] = defaultConfig parsed.adapters[this.defaultPlugin.id] = defaultConfig
parsed[theme] = 'dark'
await this.write(parsed) await this.write(parsed)
} else { } else {
// Ensure any "__DEFAULT_USER_DATA__" values are resolved on load // Ensure any "__DEFAULT_USER_DATA__" values are resolved on load
parsed.adapterConfig = this._resolveDefaults(parsed.adapterConfig) parsed.adapters = this._resolveDefaults(parsed.adapters)
} }
return parsed return parsed
@@ -71,7 +74,7 @@ export default class Config {
// Resolve defaults before writing // Resolve defaults before writing
const resolvedConfig = { const resolvedConfig = {
...configObject, ...configObject,
adapterConfig: this._resolveDefaults(configObject.adapterConfig), adapters: this._resolveDefaults(configObject.adapters),
} }
await fs.writeFile( await fs.writeFile(

View File

@@ -57,6 +57,26 @@ const { plugins, setActivePlugin } = await usePlugins()
const { config, ensureConfig } = useConfig() const { config, ensureConfig } = useConfig()
await ensureConfig() 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 selectedPluginId = ref(config.value.activeAdapter)
const validationError = ref('') const validationError = ref('')
@@ -117,11 +137,11 @@ const save = async () => {
width: 10px; width: 10px;
height: 10px; height: 10px;
margin-right: 10px; margin-right: 10px;
border: 1px solid white; border: 1px solid var(--theme-fg);
cursor: pointer; cursor: pointer;
&:checked { &:checked {
background-color: white; background-color: var(--theme-fg);
} }
} }