diff --git a/faq/index.html b/faq/index.html index acd2197..168b827 100644 --- a/faq/index.html +++ b/faq/index.html @@ -98,8 +98,15 @@ const I18N = { } }; +function store(key, val) { + try { localStorage.setItem(key, val); } catch (e) { /* private mode / blocked storage */ } +} +function stored(key) { + try { return localStorage.getItem(key); } catch (e) { return null; } +} + const state = { - lang: (localStorage.getItem('ocaFaqLang') || (navigator.language || 'es').slice(0, 2)) === 'en' ? 'en' : 'es', + lang: ((stored('ocaFaqLang') || (navigator.language || 'es').slice(0, 2)) === 'en') ? 'en' : 'es', items: [], }; @@ -220,13 +227,16 @@ async function load() { } } -document.querySelectorAll('.lang button').forEach(b => { - b.onclick = () => { +const langBox = document.querySelector('.lang'); +if (langBox) { + langBox.addEventListener('click', (ev) => { + const b = ev.target.closest('button[data-lang]'); + if (!b) return; state.lang = b.dataset.lang; - localStorage.setItem('ocaFaqLang', state.lang); + store('ocaFaqLang', state.lang); applyLang(); - }; -}); + }); +} el('q').addEventListener('input', render); applyLang();