import { useMediaQuery, useStorage } from '@vueuse/core'; import { defineStore } from 'pinia'; import { type Ref, watch } from 'vue'; export const useStyleStore = defineStore('style', { state: () => { const isDarkTheme = useStorage('isDarkTheme', true) as Ref; const isSmallScreen = useMediaQuery('(max-width: 700px)'); const isMenuCollapsed = useStorage('isMenuCollapsed', isSmallScreen.value) as Ref; watch(isSmallScreen, v => (isMenuCollapsed.value = v)); return { isDarkTheme, isMenuCollapsed, isSmallScreen, }; }, });