diff --git a/src/main.js b/src/main.js index ef2a576..b6a2ea0 100644 --- a/src/main.js +++ b/src/main.js @@ -166,7 +166,20 @@ function boot() { el.setupSave?.addEventListener('click', () => { const key = (el.setupKey?.value || '').trim(); if (!key) return; - setApiKey(key); + try { + setApiKey(key); + } catch (e) { + console.warn('localStorage write failed, clearing and retrying:', e); + try { + localStorage.removeItem('vibegif_api_key'); + localStorage.clear(); + setApiKey(key); + } catch (e2) { + console.error('localStorage completely broken:', e2); + alert('Could not save API key — localStorage may be full or blocked. Try clearing site data.'); + return; + } + } if (el.setupKey) el.setupKey.value = ''; showMain(); });