tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

toggle.js (1333B)


      1 document.addEventListener('DOMContentLoaded', function() {
      2 
      3    function toggleCssMode(isDay) {
      4        var mode = (isDay ? "Day" : "Night");
      5        localStorage.setItem("css-mode", mode);
      6 
      7        var daysheet = $('link[href="_static/pygments.css"]')[0].sheet;
      8        daysheet.disabled = !isDay;
      9 
     10        var nightsheet = $('link[href="_static/css/dark.css"]')[0];
     11        if (!isDay && nightsheet === undefined) {
     12            var element = document.createElement("link");
     13            element.setAttribute("rel", "stylesheet");
     14            element.setAttribute("type", "text/css");
     15            element.setAttribute("href", "_static/css/dark.css");
     16            document.getElementsByTagName("head")[0].appendChild(element);
     17            return;
     18        }
     19        if (nightsheet !== undefined) {
     20            nightsheet.sheet.disabled = isDay;
     21        }
     22    }
     23 
     24    var initial = localStorage.getItem("css-mode") != "Night";
     25    var checkbox = document.querySelector('input[name=mode]');
     26 
     27    toggleCssMode(initial);
     28    checkbox.checked = initial;
     29 
     30    checkbox.addEventListener('change', function() {
     31        document.documentElement.classList.add('transition');
     32        window.setTimeout(() => {
     33            document.documentElement.classList.remove('transition');
     34        }, 1000)
     35        toggleCssMode(this.checked);
     36    })
     37 
     38 });