Clean up the dark mode script block
This commit is contained in:
		
							parent
							
								
									b6a9e36cb9
								
							
						
					
					
						commit
						265734bfe1
					
				
					 1 changed files with 10 additions and 10 deletions
				
			
		| 
						 | 
				
			
			@ -4,23 +4,23 @@
 | 
			
		|||
 | 
			
		||||
  <body class="not-ready" data-menu="{{ isset site.Menus `main` }}">
 | 
			
		||||
    {{ partial "header.html" . }}
 | 
			
		||||
 | 
			
		||||
    <main class="main">{{ block "main" . }}{{ end }}</main>
 | 
			
		||||
 | 
			
		||||
    <main class="main">
 | 
			
		||||
      {{ block "main" . }}{{ end }}
 | 
			
		||||
    </main>
 | 
			
		||||
    {{ partial "footer.html" . }}
 | 
			
		||||
  </body>
 | 
			
		||||
  <script>
 | 
			
		||||
      let bodyClx = document.body.classList;
 | 
			
		||||
      let sysDark = window.matchMedia('(prefers-color-scheme: dark)');
 | 
			
		||||
      let darkVal = localStorage.getItem('dark');
 | 
			
		||||
      let bodyClasses = document.body.classList;
 | 
			
		||||
      let systemDarkModeMatch = window.matchMedia('(prefers-color-scheme: dark)');
 | 
			
		||||
      let localStorageDarkMode = localStorage.getItem('dark');
 | 
			
		||||
 | 
			
		||||
      let setDark = (isDark) => {
 | 
			
		||||
        bodyClx[isDark ? 'add' : 'remove']('dark');
 | 
			
		||||
        bodyClasses[isDark ? 'add' : 'remove']('dark');
 | 
			
		||||
        localStorage.setItem('dark', isDark ? 'yes' : 'no');
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      setDark(darkVal ? darkVal === 'yes' : sysDark.matches);
 | 
			
		||||
      requestAnimationFrame(() => bodyClx.remove('not-ready'));
 | 
			
		||||
      sysDark.addEventListener('change', (event) => setDark(event.matches));
 | 
			
		||||
      setDark(localStorageDarkMode ? localStorageDarkMode === 'yes' : systemDarkModeMatch.matches);
 | 
			
		||||
      requestAnimationFrame(() => bodyClasses.remove('not-ready'));
 | 
			
		||||
      systemDarkModeMatch.addEventListener('change', (event) => setDark(event.matches));
 | 
			
		||||
  </script>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue