PageSourceSearch

https://www.deschuteslibrary.org/Scripts/ThemeChecker.js

js deschuteslibrary.org collected 2026-09-24 09:43:28 UTC 2,133 bytes, 58 lines download raw bytes

1try {
2    //const switcher = document.querySelector('#theme-switcher')
3    const doc = document.querySelector('#dplroot')
4
5    //  const doc1 = document.firstElementChild
6    const cookieChecker = document.cookie.indexOf('themes=');
7    //console.log(cookieChecker)
8
9    function switchDarkMode() {
10        document.getElementById("Button2").click();
11    }
12
13    function cookiesEnabledChecker3000() {
14        if (navigator.cookieEnabled) {
15            return true;
16        } else {
17            return false
18        }
19    }
20    const userPrefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
21
22    const userPrefersLight = window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches;
23    if (userPrefersDark) {
24        //console.log("User prefers a dark interface");
25        // console.log(cookieChecker);
26        if (cookiesEnabledChecker3000() === true) {
27            if (cookieChecker === -1) {
28                console.log('🎉 Dark mode if pref but not set');
29                document.getElementById("Theme_Dark").click();
30                doc.setAttribute('color-scheme', 'dark')
31                // document.body.addEventListener("click", switchDarkMode, {once: true })
32            }
33        }
34        // console.log("User prefer should now be set to dark");
35    }
36
37    window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', e => {
38        const newColorScheme = e.matches ? "dark" : "light";
39        // console.log(cookieChecker);
40        if (cookiesEnabledChecker3000() === true) {
41            if (cookieChecker === -1) {
42                if (newColorScheme === "dark") {
43                    console.log('🎉 Changed to Dark mode is supported');
44                    document.getElementById("Theme_Dark").click();
45                } else {
46                    console.log('🎉 Changed to Light mode is supported');
47                    document.getElementById("Theme_Light").click();
48
49                }
50            }
51        }
52    });
53} catch (e) {
54    // console.log("no cookies")
55}
56
57
58

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.