system.ts 721 B

123456789101112131415161718192021222324252627
  1. import { useStorage } from '@vueuse/core'
  2. import { acceptHMRUpdate, defineStore } from 'pinia'
  3. import packageJson from '@/../package.json'
  4. import { usePreferencesStore } from '@/stores'
  5. import { useTabsStore } from '@/stores'
  6. import { useUserStore } from '@/stores'
  7. export const useSystemStore = defineStore('systemStore', () => {
  8. const version = useStorage('version', '')
  9. if (version.value !== packageJson.version) {
  10. useTabsStore().clearTabs()
  11. usePreferencesStore().reset()
  12. useUserStore().cleanup()
  13. localStorage.clear()
  14. version.value = packageJson.version
  15. }
  16. return {
  17. version,
  18. }
  19. })
  20. if (import.meta.hot) {
  21. import.meta.hot.accept(acceptHMRUpdate(useSystemStore, import.meta.hot))
  22. }