From 97e7c319d656a5f05489ca996e249e7359303d4d Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 31 May 2026 22:42:33 +0000
Subject: [PATCH] =Jakevan edits done?

---
 src/menu/view.js |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/src/menu/view.js b/src/menu/view.js
new file mode 100644
index 0000000..153b0df
--- /dev/null
+++ b/src/menu/view.js
@@ -0,0 +1,43 @@
+window.details = document.querySelectorAll('details');
+window.toggles = document.querySelectorAll('.toggle-details');
+
+document.addEventListener('click', (e) => {
+	if (e.target.classList.contains('toggle-details')) {
+		e.target.classList.toggle('open');
+		let on = e.target.classList.contains('open');
+		let section = e.target.dataset.toggle;
+		if (section === 'all') {
+			toggleToggles(on);
+		}
+
+		let span = e.target.querySelector('span');
+		span.textContent = (on) ? 'Close': 'Open';
+		toggleDetails(section, on);
+	}
+});
+
+
+console.log(window.details);
+function toggleDetails(name, toggle) {
+	if (name === 'all') {
+		console.log('Toggling all!');
+		window.details.forEach(detail => {
+			console.log(detail);
+			detail.open = toggle;
+		});
+	} else {
+		for (let detail of window.details) {
+			if (detail.dataset.section === name) {
+				detail.open = toggle;
+			}
+		}
+	}
+}
+
+function toggleToggles(on) {
+	window.toggles.forEach(toggle => {
+		if (toggle.dataset.toggle !== 'all') {
+			toggle.querySelector('span').textContent = (on) ? 'Close' : 'Open';
+		}
+	});
+}

--
Gitblit v1.10.0