25 lines
561 B
TypeScript
25 lines
561 B
TypeScript
import { defineStore } from 'pinia'
|
|
|
|
export type DeviceType = 'desktop' | 'mobile'
|
|
|
|
export const useAppStore = defineStore(
|
|
'app',
|
|
() => {
|
|
const sidebarCollapsed = ref(false)
|
|
const device = ref<DeviceType>('desktop')
|
|
|
|
function toggleSidebar(collapsed?: boolean) {
|
|
sidebarCollapsed.value = collapsed ?? !sidebarCollapsed.value
|
|
}
|
|
|
|
function setDevice(value: DeviceType) {
|
|
device.value = value
|
|
}
|
|
|
|
return { sidebarCollapsed, device, toggleSidebar, setDevice }
|
|
},
|
|
{
|
|
persist: { paths: ['sidebarCollapsed'] },
|
|
},
|
|
)
|