about summary refs log tree commit diff stats
path: root/src/pages/options/index.js
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-05-30 01:02:59 +0300
committerManeraKai <manerakai@protonmail.com>2022-05-30 01:02:59 +0300
commitc5a6623e0f320b2a789e0d2667ccfe2e1bd4335f (patch)
treedabfa0f2cecf137771f276996f9368922c5aeb64 /src/pages/options/index.js
parentFixed typo for CopyRaw #291 (diff)
downloadlibredirect-c5a6623e0f320b2a789e0d2667ccfe2e1bd4335f.zip
Fixed settings theme and translation flashing #286
Diffstat (limited to 'src/pages/options/index.js')
-rw-r--r--src/pages/options/index.js24
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