mirror of
				https://github.com/Wonderfall/hugo-WonderMod.git
				synced 2025-10-31 03:45:24 +01:00 
			
		
		
		
	theme-switch: Enable theme toggle unless specifically disabled (#69)
Co-authored-by: Aditya Telange <21258296+adityatelange@users.noreply.github.com>
This commit is contained in:
		| @@ -50,7 +50,7 @@ | ||||
|         localStorage.setItem("menu-scroll-position", document.getElementById('menu').scrollLeft); | ||||
|     } | ||||
| </script> | ||||
| {{- if (and (not .Site.Params.disableThemeToggle) (not (or (eq .Site.Params.defaultTheme "light") (eq .Site.Params.defaultTheme "dark")))) }} | ||||
| {{- if (not .Site.Params.disableThemeToggle) }} | ||||
| <script> | ||||
|     document.getElementById("theme-toggle").addEventListener("click", () => { | ||||
|         if (document.body.className.includes("dark")) { | ||||
| @@ -63,7 +63,7 @@ | ||||
|     }) | ||||
| </script> | ||||
| {{- else -}} | ||||
| <!-- case where owner disables theme button after deployment, this resets the stored theme --> | ||||
| {{/*  case where owner disables theme button after deployment, this resets the stored theme  */}} | ||||
| <script> | ||||
|     localStorage.removeItem("pref-theme"); | ||||
| </script> | ||||
|   | ||||
| @@ -1,21 +1,32 @@ | ||||
| {{- if (and (not .Site.Params.disableThemeToggle) (not (or (eq .Site.Params.defaultTheme "light") (eq .Site.Params.defaultTheme "dark")))) }} | ||||
| {{- if (eq .Site.Params.defaultTheme "light") }} | ||||
| <script> | ||||
|     // load memory | ||||
|     if (localStorage.getItem("pref-theme") === "dark") { | ||||
|         document.body.classList.add('dark'); | ||||
|     } else if (localStorage.getItem("pref-theme") === "light") { | ||||
|         document.body.classList.remove('dark') | ||||
|     } else { | ||||
|         if (window.matchMedia('(prefers-color-scheme: dark)').matches) { | ||||
|             document.body.classList.add('dark'); | ||||
|         } | ||||
|         document.body.classList.remove('dark') | ||||
|     } | ||||
|  | ||||
| </script> | ||||
| {{- end }} | ||||
| {{- if (and (.Site.Params.disableThemeToggle) (eq .Site.Params.defaultTheme "auto")) }} | ||||
| {{- else if (eq .Site.Params.defaultTheme "dark") }} | ||||
| <script> | ||||
|     if (window.matchMedia('(prefers-color-scheme: dark)').matches) { | ||||
|     if (localStorage.getItem("pref-theme") === "dark") { | ||||
|         document.body.classList.add('dark'); | ||||
|     } else if (localStorage.getItem("pref-theme") === "light") { | ||||
|         document.body.classList.remove('dark') | ||||
|     } else { | ||||
|         document.body.classList.add('dark'); | ||||
|     } | ||||
|  | ||||
| </script> | ||||
| {{- else if (or (eq .Site.Params.defaultTheme "auto") (not .Site.Params.disableThemeToggle) ) }} | ||||
| <script> | ||||
|     if (localStorage.getItem("pref-theme") === "dark") { | ||||
|         document.body.classList.add('dark'); | ||||
|     } else if (localStorage.getItem("pref-theme") === "light") { | ||||
|         document.body.classList.remove('dark') | ||||
|     } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) { | ||||
|         document.body.classList.add('dark'); | ||||
|     } | ||||
|  | ||||
| @@ -41,7 +52,7 @@ | ||||
|                 {{- .Site.Params.label.text | default .Site.Title -}} | ||||
|             </a> | ||||
|             <span class="logo-switches"> | ||||
|                 {{- if (and (not .Site.Params.disableThemeToggle) (not (or (eq .Site.Params.defaultTheme "light") (eq .Site.Params.defaultTheme "dark")))) }} | ||||
|                 {{- if (not .Site.Params.disableThemeToggle) }} | ||||
|                 <span class="theme-toggle"> | ||||
|                     <a id="theme-toggle" accesskey="t"> | ||||
|                         <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Itay Cohen
					Itay Cohen