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();