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 : {},
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,

View File

@@ -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(

View File

@@ -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);
}
}