Projects STRLCPY wrongsecrets Commits 1b3181e8
🤬
Revision indexing in progress... (symbol navigation in revisions will be accurate after indexed)
  • ■ ■ ■ ■ ■ ■
    src/main/resources/static/theme-toggle.js
    1 1  (function () {
    2  - const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
    3  - var initialTheme;
    4  - if (localStorage.getItem('darkmode-pref-set') === "true") {
    5  - initialTheme = localStorage.getItem('darkMode') === 'true'
    6  - } else {
    7  - initialTheme = darkModeMediaQuery.matches
    8  - }
     2 + const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
     3 + let initialTheme
     4 + if (localStorage.getItem('darkmode-pref-set') === 'true') {
     5 + initialTheme = localStorage.getItem('darkMode') === 'true'
     6 + } else {
     7 + initialTheme = darkModeMediaQuery.matches
     8 + }
    9 9   
     10 + function updateToggle (darkMode) {
     11 + document.querySelector(".theme-toggle input[type=radio][value='dark']").checked = darkMode
     12 + document.querySelector(".theme-toggle input[type=radio][value='light']").checked = !darkMode
    10 13   
    11  - function updateToggle(darkMode) {
    12  - document.querySelector(".theme-toggle input[type=radio][value='dark']").checked = darkMode
    13  - document.querySelector(".theme-toggle input[type=radio][value='light']").checked = !darkMode
     14 + document.body.classList.toggle('dark-mode', darkMode)
     15 + localStorage.setItem('darkMode', darkMode)
     16 + localStorage.setItem('darkmode-pref-set', 'true')
     17 + }
    14 18   
    15  - document.body.classList.toggle('dark-mode', darkMode)
    16  - localStorage.setItem('darkMode', darkMode)
    17  - localStorage.setItem('darkmode-pref-set', "true")
    18  - }
     19 + darkModeMediaQuery.addEventListener('change', (e) => {
     20 + const darkModeOn = e.matches
     21 + updateToggle(darkModeOn)
     22 + })
    19 23   
    20  - darkModeMediaQuery.addEventListener('change', (e) => {
    21  - const darkModeOn = e.matches
    22  - updateToggle(darkModeOn)
     24 + window.addEventListener('load', function () {
     25 + const radios = document.querySelectorAll('.theme-toggle input[type=radio]')
     26 + radios.forEach((radio) => {
     27 + radio.addEventListener('change', function (e) {
     28 + updateToggle(e.target.value === 'dark')
     29 + })
    23 30   })
    24 31   
    25  - window.addEventListener('load', function () {
    26  - const radios = document.querySelectorAll('.theme-toggle input[type=radio]')
    27  - radios.forEach((radio) => {
    28  - radio.addEventListener('change', function (e) {
    29  - updateToggle(e.target.value === 'dark')
    30  - })
    31  - })
    32  - 
    33  - updateToggle(initialTheme)
    34  - })
     32 + updateToggle(initialTheme)
     33 + })
    35 34  })()
    36 35   
Please wait...
Page is in error, reload to recover