-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
39 lines (31 loc) · 1.21 KB
/
Copy pathscript.js
File metadata and controls
39 lines (31 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
document.addEventListener("DOMContentLoaded", () => {
const storageKey = "egghatch-tutorial-sidebar-collapsed";
const body = document.body;
const sidebar = document.querySelector(".site-sidebar");
const toggleButtons = Array.from(document.querySelectorAll(".sidebar-toggle"));
if (!sidebar || !toggleButtons.length) {
return;
}
const setSidebarState = (collapsed) => {
body.classList.toggle("sidebar-collapsed", collapsed);
toggleButtons.forEach((button) => {
button.setAttribute("aria-expanded", String(!collapsed));
const label = button.querySelector(".sidebar-toggle__label");
const icon = button.querySelector(".sidebar-toggle__icon");
if (label) {
label.textContent = collapsed ? "Unfold chapters" : "Fold chapters";
}
if (icon) {
icon.textContent = collapsed ? "[]" : "||";
}
});
};
setSidebarState(window.localStorage.getItem(storageKey) === "true");
toggleButtons.forEach((button) => {
button.addEventListener("click", () => {
const nextCollapsed = !body.classList.contains("sidebar-collapsed");
setSidebarState(nextCollapsed);
window.localStorage.setItem(storageKey, String(nextCollapsed));
});
});
});