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 }; });