aboutsummaryrefslogtreecommitdiff
path: root/bcst/themes/home-term/script/script.js
diff options
context:
space:
mode:
Diffstat (limited to 'bcst/themes/home-term/script/script.js')
-rw-r--r--bcst/themes/home-term/script/script.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/bcst/themes/home-term/script/script.js b/bcst/themes/home-term/script/script.js
new file mode 100644
index 0000000..b3e8bc8
--- /dev/null
+++ b/bcst/themes/home-term/script/script.js
@@ -0,0 +1,35 @@
+
+const Main = (() => {
+ const list = document.getElementById("list");
+ const names = document.querySelectorAll("[data-Name]");
+ const search = document.getElementById("search");
+ const form = document.forms[0];
+
+ const init = () => {
+ list.innerHTML = Config.Links.map(([gName, Links]) => `
+ <li>
+ <h1 onclick="this.parentNode.classList.toggle('hideChildren')">${gName}</h1>
+ <ul>
+ ${Links.map(([lName, url]) => `
+ <li>
+ <a href="${url}">${lName}</a>
+ </li>`
+ ).join("")}
+ </ul>
+ </li>`
+ ).join("")
+
+ names.forEach(el => {
+ el.innerText = Config.name;
+ });
+
+ document.addEventListener("keydown", e => e.key.length === 1 && search.focus());
+ search.addEventListener("keydown", () => (window.event ? event.keyCode : e.which) == 13 && form.submit());
+ };
+
+ return {
+ init,
+ };
+})();
+
+Main.init()