github.com/lucasscarioca/music-stash@v0.0.0-20230829021135-a8b8893b12a5/assets/static/js/app.js (about)

     1  console.log('hello')
     2  
     3  if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
     4    document.documentElement.classList.add('dark')
     5    localStorage.theme = 'dark'
     6    setTimeout(() => {
     7      const themeIcon = document.getElementById('theme')
     8      themeIcon?.classList?.replace('ph-moon', 'ph-sun')
     9    }, 200)
    10  } else {
    11    document.documentElement.classList.remove('dark')
    12    localStorage.theme = 'light'
    13    setTimeout(() => {
    14      const themeIcon = document.getElementById('theme')
    15      themeIcon?.classList?.replace('ph-sun', 'ph-moon')
    16    }, 200)
    17  }
    18  
    19  function toggleTheme() {
    20    const themeIcon = document.getElementById('theme')
    21    if (localStorage.theme === 'dark') {
    22      document.documentElement.classList.remove('dark')
    23      localStorage.theme = 'light'
    24      themeIcon?.classList?.replace('ph-sun', 'ph-moon')
    25    } else {
    26      document.documentElement.classList.add('dark')
    27      localStorage.theme = 'dark'
    28      themeIcon?.classList?.replace('ph-moon', 'ph-sun')
    29    }
    30  }
    31  
    32  function menu() {
    33    const list = document.querySelector('ul')
    34    const menu = document.getElementById('menu')
    35    menu.classList.contains('ph-list')
    36      ? (menu.classList.replace('ph-list', 'ph-x'), list.classList.remove('hidden'), list.classList.add('h-52'), list.classList.add('opacity-100'))
    37      : (menu.classList.replace('ph-x', 'ph-list'), list.classList.remove('h-52'), list.classList.remove('opacity-100'), list.classList.add('hidden'))
    38  }