he wei
2025-04-03 c6a2d2debf161b987ff91c6ac9560d10fc98c54b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { defineStore } from 'pinia';
import { ref } from 'vue';
import defaultSettings from '@/settings';
import changeTheme from '@/utils/changeTheme';
 
const { showSettings: _showSettings, tagsView: _tagsView, fixedHeader: _fixedHeader, sidebarLogo: _sidebarLogo, secondMenuPopup: _secondMenuPopup } = defaultSettings;
 
export const useSettingsStore = defineStore('settings', () => {
  const theme = ref('blue-theme');
  const showSettings = ref(_showSettings);
  const tagsView = ref(_tagsView);
  const fixedHeader = ref(_fixedHeader);
  const sidebarLogo = ref(_sidebarLogo);
  const secondMenuPopup = ref(_secondMenuPopup);
 
  function changeSetting({key, value}) {
    switch (key) {
      case 'showSettings':
        showSettings.value = value;
        break;
      case 'tagsView':
        tagsView.value = value;
        break;
      case 'fixedHeader':
        fixedHeader.value = value;
        break;
      case 'sidebarLogo':
        sidebarLogo.value = value;
        break;
      case 'secondMenuPopup':
        secondMenuPopup.value = value;
        break;
      case 'theme':
        theme.value = value;
        changeTheme(value);
        break;
    }
  }
 
  return { theme, showSettings, tagsView, fixedHeader, sidebarLogo, secondMenuPopup, changeSetting };
});