PageSourceSearch

https://fluxfingers.net/main.js

js fluxfingers.net collected 2026-10-03 21:48:21 UTC 1,507 bytes, 40 lines download raw bytes

1(() => {
2  // <stdin>
3  var sidebar = document.querySelector("aside.sidebar");
4  var menuTrigger = document.querySelector("button.menu-trigger");
5  var menuTriggerClose = document.querySelector("button.menu-trigger-close");
6  var menuOpacity = document.querySelector("div.menu-overlay");
7  var toggleSidebar = () => {
8    if (sidebar.classList.contains("!translate-x-0")) {
9      sidebar.classList.remove("!translate-x-0");
10      menuOpacity.classList.add("hidden");
11    } else {
12      sidebar.classList.add("!translate-x-0");
13      menuOpacity.classList.remove("hidden");
14    }
15  };
16  menuTrigger.addEventListener("click", toggleSidebar);
17  menuTriggerClose.addEventListener("click", toggleSidebar);
18  menuOpacity.addEventListener("click", toggleSidebar);
19  var scrollElement = document.querySelector(".scroll-area");
20  var scrollElementStateKey = "ScrollElementPosition";
21  window.onbeforeunload = function() {
22    if (!scrollElement) return;
23    const scrollPos = scrollElement.scrollTop;
24    if (scrollPos) {
25      localStorage.setItem(scrollElementStateKey, scrollPos);
26    }
27  };
28  window.onload = function() {
29    const scrollPos = localStorage.getItem(scrollElementStateKey);
30    localStorage.removeItem(scrollElementStateKey);
31    if (scrollElement) {
32      scrollElement.scrollTop = scrollPos;
33    }
34  };
35  var darkModeStateKey = "DarkMode";
36  var isDark = JSON.parse(localStorage.getItem(darkModeStateKey) || "true");
37  if (isDark) {
38    document.documentElement.classList.add("dark");
39  }
40})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.