pub / tw2html

Checks online status of streams on twitch.tv and lets you watch them
git clone https://src.jayvii.de/pub/tw2html.git
Home | Log | Files | Exports | Refs | README | RSS

darkmode.js (1099B)


      1 // Toggle Theme function
      2 function toggleTheme(set_mode = null) {
      3     // Set Mode and switch toggle icon
      4     if (set_mode === 0) {
      5       document.querySelector("body").classList = ["list"];
      6       document.querySelector("#darkmodetoggle").style="display:inherit;";
      7       document.querySelector("#lightmodetoggle").style="display:none;";
      8     } else {
      9       document.querySelector("body").classList = ["list dark"];
     10       document.querySelector("#darkmodetoggle").style="display:none;";
     11       document.querySelector("#lightmodetoggle").style="display:inherit;";
     12     }
     13     // Mark mode in session storage
     14     sessionStorage.setItem("dark-mode", set_mode);
     15 }
     16 // On Load: set dark mode if necessary
     17 function initialTheme() {
     18   if (
     19       // Case 1: Dark Mode is preferred and no cookie is set
     20       (window.matchMedia('(prefers-color-scheme: dark)').matches &&
     21       sessionStorage.getItem("dark-mode") === null) ||
     22       // Case 2: Dark Mode is set via session Storage
     23       sessionStorage.getItem("dark-mode") == 1
     24   ) {
     25       toggleTheme(set_mode = 1);
     26   } else {
     27       toggleTheme(set_mode = 0);
     28   }
     29 }