/
storage.ts
36 lines (28 loc) · 1.18 KB
/
storage.ts
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
import { toRefs } from '@vueuse/core'
import type { DevToolsFrameState, DevToolsUISettings } from '~~/../src/types'
export const isFirstVisit = useLocalStorage('nuxt-devtools-first-visit', true)
const devToolsSettings = useLocalStorage<DevToolsUISettings>('nuxt-devtools-settings', {
componentsView: 'list',
componentsGraphShowNodeModules: false,
componentsGraphShowPages: false,
componentsGraphShowLayouts: false,
componentsGraphShowWorkspace: true,
interactionCloseOnOutsideClick: false,
showExperimentalFeatures: false,
showHelpButtons: true,
scale: 1,
hiddenTabs: [],
hiddenTabCategories: [],
}, { mergeDefaults: true })
const devToolsSettingsRefs = toRefs(devToolsSettings)
const devToolsFrameState = useLocalStorage<DevToolsFrameState>('nuxt-devtools-frame-state', {} as any, { listenToStorageChanges: false })
const devToolsPanelsState = useLocalStorage<Record<string, number>>('nuxt-devtools-panels-state', {} as any, { listenToStorageChanges: false })
export function useDevToolsSettings() {
return devToolsSettingsRefs
}
export function useDevToolsFrameState() {
return devToolsFrameState
}
export function useDevToolsPanelsState() {
return devToolsPanelsState
}