diff options
Diffstat (limited to 'src/popup/popup.js')
| -rw-r--r-- | src/popup/popup.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/popup/popup.js b/src/popup/popup.js index 612d0fd..eb213f5 100644 --- a/src/popup/popup.js +++ b/src/popup/popup.js @@ -46,6 +46,13 @@ function fillModels(models, selected) { option.selected = true; $model.append(option); } + if (!selected && models.length > 0) { + // No model saved yet: explicitly select the first one so the UI value + // matches what will be used. Otherwise the browser auto-selects the + // first option visually while storage still has an empty model, + // which made translation fail until the user pressed Save. + $model.selectedIndex = 0; + } } function showStatus(message, isError) { @@ -128,4 +135,13 @@ $openOptions.addEventListener('click', () => { void (async () => { await loadSettings(); await loadModels(); + // If the model list loaded and no model is saved yet, persist the + // auto-selected first model so the stored settings match the UI. + if (knownModels.length > 0) { + const result = await browser.storage.local.get({ settings: null }); + const stored = sanitizeSettings(result.settings || defaultSettings()); + if (!stored.model) { + await persist({ model: $model.value }); + } + } })();
\ No newline at end of file |
