app.ts 640 Bytes
import { defineStore } from 'pinia'
import { ref } from 'vue'

export const useAppStore = defineStore('app', () => {
  const isDarkMode = ref(localStorage.getItem('dark-mode') === 'true')

  function toggleDarkMode() {
    isDarkMode.value = !isDarkMode.value
    localStorage.setItem('dark-mode', isDarkMode.value.toString())
    if (isDarkMode.value) {
      document.documentElement.classList.add('dark')
    } else {
      document.documentElement.classList.remove('dark')
    }
  }

  // Initialize
  if (isDarkMode.value) {
    document.documentElement.classList.add('dark')
  }

  return {
    isDarkMode,
    toggleDarkMode,
  }
})