fix: address config modal review feedback

This commit is contained in:
2026-05-17 18:23:22 -07:00
parent 7fb1e6d7a5
commit 6f48d4b65b
17 changed files with 333 additions and 43 deletions
+1
View File
@@ -104,6 +104,7 @@ export const IPC_CHANNELS = {
openConfigSettingsWindow: 'config:open-settings-window',
getConfigSettingsAnkiDeckNames: 'config-settings:anki-deck-names',
getConfigSettingsAnkiDeckFieldNames: 'config-settings:anki-deck-field-names',
getConfigSettingsAnkiDeckModelNames: 'config-settings:anki-deck-model-names',
getConfigSettingsAnkiModelNames: 'config-settings:anki-model-names',
getConfigSettingsAnkiModelFieldNames: 'config-settings:anki-model-field-names',
},
+15 -4
View File
@@ -16,15 +16,26 @@ function boolScriptOpt(value: boolean): 'yes' | 'no' {
return value ? 'yes' : 'no';
}
function sanitizeScriptOptValue(value: string): string {
return value
.replace(/,/g, ' ')
.replace(/[\r\n]/g, ' ')
.replace(/\s+/g, ' ')
.trim();
}
export function buildSubminerPluginRuntimeScriptOptParts(
runtimeConfig: SubminerPluginRuntimeScriptOptConfig,
fallbackAppPath: string,
): string[] {
const binaryPath = runtimeConfig.binaryPath?.trim() || fallbackAppPath;
const binaryPath = sanitizeScriptOptValue(runtimeConfig.binaryPath?.trim() || fallbackAppPath);
const socketPath = sanitizeScriptOptValue(runtimeConfig.socketPath);
const backend = sanitizeScriptOptValue(runtimeConfig.backend);
const aniskipButtonKey = sanitizeScriptOptValue(runtimeConfig.aniskipButtonKey);
return [
`subminer-binary_path=${binaryPath}`,
`subminer-socket_path=${runtimeConfig.socketPath}`,
`subminer-backend=${runtimeConfig.backend}`,
`subminer-socket_path=${socketPath}`,
`subminer-backend=${backend}`,
`subminer-auto_start=${boolScriptOpt(runtimeConfig.autoStart)}`,
`subminer-auto_start_visible_overlay=${boolScriptOpt(runtimeConfig.autoStartVisibleOverlay)}`,
`subminer-auto_start_pause_until_ready=${boolScriptOpt(
@@ -32,6 +43,6 @@ export function buildSubminerPluginRuntimeScriptOptParts(
)}`,
`subminer-texthooker_enabled=${boolScriptOpt(runtimeConfig.texthookerEnabled)}`,
`subminer-aniskip_enabled=${boolScriptOpt(runtimeConfig.aniskipEnabled)}`,
`subminer-aniskip_button_key=${runtimeConfig.aniskipButtonKey}`,
`subminer-aniskip_button_key=${aniskipButtonKey}`,
];
}