diff options
Diffstat (limited to 'vrsite/assets/app.js')
| -rw-r--r-- | vrsite/assets/app.js | 15 |
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 => { |
