| | |
| | | const userPref = window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark' |
| | | const currentTheme = localStorage.getItem('theme') ?? userPref |
| | | const syntaxTheme = document.querySelector("#theme-link"); |
| | | |
| | | |
| | | {{ $darkSyntax := resources.Get "styles/_dark_syntax.scss" | resources.ToCSS (dict "outputStyle" "compressed") | resources.Fingerprint "md5" | resources.Minify }} |
| | | {{ $lightSyntax := resources.Get "styles/_light_syntax.scss" | resources.ToCSS (dict "outputStyle" "compressed") | resources.Fingerprint "md5" | resources.Minify }} |
| | | |
| | | if (currentTheme) { |
| | | document.documentElement.setAttribute('saved-theme', currentTheme); |
| | | (currentTheme === 'dark') ? syntaxTheme.href = '{{ $darkSyntax.Permalink }}' : syntaxTheme.href = '{{ $lightSyntax.Permalink }}'; |
| | | } |
| | | |
| | | const switchTheme = (e) => { |
| | | if (e.target.checked) { |
| | | document.documentElement.setAttribute('saved-theme', 'dark') |
| | | localStorage.setItem('theme', 'dark') |
| | | document.documentElement.setAttribute('saved-theme', 'dark'); |
| | | localStorage.setItem('theme', 'dark'); |
| | | syntaxTheme.href = '{{ $darkSyntax.Permalink }}'; |
| | | } |
| | | else { |
| | | document.documentElement.setAttribute('saved-theme', 'light') |
| | | localStorage.setItem('theme', 'light') |
| | | syntaxTheme.href = '{{ $lightSyntax.Permalink }}'; |
| | | } |
| | | } |
| | | |