mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-05-03 04:49:13 -04:00
27 lines
731 B
TypeScript
27 lines
731 B
TypeScript
import { useMediaQuery, useStorage, whenever } from '@vueuse/core';
|
|
import { defineStore } from 'pinia';
|
|
import type { Ref } from 'vue';
|
|
|
|
export const useStyleStore = defineStore('style', {
|
|
state: () => {
|
|
const isDarkTheme = useStorage('isDarkTheme', true) as Ref<boolean>;
|
|
const isSmallScreen = useMediaQuery('(max-width: 700px)');
|
|
const isMenuCollapsed = useStorage('isMenuCollapsed', !isSmallScreen.value) as Ref<boolean>;
|
|
|
|
whenever(
|
|
() => !isSmallScreen.value,
|
|
() => (isMenuCollapsed.value = false)
|
|
);
|
|
|
|
whenever(
|
|
() => isSmallScreen.value,
|
|
() => (isMenuCollapsed.value = true)
|
|
);
|
|
|
|
return {
|
|
isDarkTheme,
|
|
isMenuCollapsed,
|
|
isSmallScreen,
|
|
};
|
|
},
|
|
});
|