summaryrefslogtreecommitdiff
path: root/vrsite/assets/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'vrsite/assets/app.js')
-rw-r--r--vrsite/assets/app.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/vrsite/assets/app.js b/vrsite/assets/app.js
index 74db8d2..854959a 100644
--- a/vrsite/assets/app.js
+++ b/vrsite/assets/app.js
@@ -256,6 +256,21 @@ const nav = document.getElementById("nav");
const tree = document.getElementById("tree");
const state = JSON.parse(localStorage.getItem("vrsite-tree") || "{}");
+// The file tree can get out of the way without losing repository context or
+// the navigation footer. Keep the choice across page loads in this browser.
+const fileList = document.getElementById("filelist");
+const fileToggle = document.getElementById("filetoggle");
+if (fileList && fileToggle) {
+ const setFilesHidden = hidden => {
+ root.dataset.files = hidden ? "hidden" : "shown";
+ fileToggle.setAttribute("aria-expanded", String(!hidden));
+ fileToggle.textContent = hidden ? "show files" : "hide files";
+ localStorage.setItem("vrsite-files-hidden", hidden ? "1" : "0");
+ };
+ setFilesHidden(localStorage.getItem("vrsite-files-hidden") === "1");
+ fileToggle.addEventListener("click", () => setFilesHidden(root.dataset.files !== "hidden"));
+}
+
if (nav && tree) {
const base = nav.dataset.root, cur = nav.dataset.current;
fetch(nav.dataset.tree).then(r => r.text()).then(t => {