From a9263daee9413c5eff3c1f1bebcd224442fd8685 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Sun, 2 Aug 2026 17:38:06 -0300 Subject: vrsite: toggle repository file list --- vrsite/assets/app.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'vrsite/assets/app.js') 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 => { -- cgit v1.3