diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-05-30 01:02:59 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-05-30 01:02:59 +0300 |
commit | c5a6623e0f320b2a789e0d2667ccfe2e1bd4335f (patch) | |
tree | dabfa0f2cecf137771f276996f9368922c5aeb64 /src/pages/options/index.js | |
parent | Fixed typo for CopyRaw #291 (diff) | |
download | libredirect-c5a6623e0f320b2a789e0d2667ccfe2e1bd4335f.zip |
Fixed settings theme and translation flashing #286
Diffstat (limited to 'src/pages/options/index.js')
-rw-r--r-- | src/pages/options/index.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/pages/options/index.js b/src/pages/options/index.js new file mode 100644 index 00000000..39f9c8f3 --- /dev/null +++ b/src/pages/options/index.js @@ -0,0 +1,24 @@ +for (const a of document.getElementById('links').getElementsByTagName('a')) { + a.addEventListener('click', e => { + const path = a.getAttribute('href').replace('#', ''); + loadPage(path); + e.preventDefault(); + }) +} + +function loadPage(path) { + for (const section of document.getElementById('pages').getElementsByTagName('section')) + section.style.display = 'none'; + document.getElementById(`${path}_page`).style.display = 'block'; + + for (const a of document.getElementById('links').getElementsByTagName('a')) + if (a.getAttribute('href') == `#${path}`) a.classList.add('selected') + else a.classList.remove('selected') + + let stateObj = { id: "100" }; + window.history.pushState(stateObj, "Page 2", `/pages/options/index.html#${path}`); +} + +const r = window.location.href.match(/#(.*)/) +if (r) loadPage(r[1]); +else loadPage('general'); \ No newline at end of file |