fix: new rail type sidebar

This commit is contained in:
Ramesh Mane
2026-03-04 14:42:36 +00:00
parent 22237d6f82
commit 2370d61e0b
14 changed files with 1208 additions and 101 deletions

View File

@@ -0,0 +1,28 @@
import { useStorage } from '@vueuse/core'
import { MINI_SIDEBAR_V2_DOCK_WIDTH, MINI_SIDEBAR_V2_RAIL_WIDTH } from '~/lib/constants'
export type MiniSidebarMode = 'rail' | 'dock'
export const useMiniSidebarMode = createSharedComposable(() => {
const mode = useStorage<MiniSidebarMode>('nc-mini-sidebar-mode', 'rail')
const isRail = computed(() => mode.value === 'rail')
const isDock = computed(() => mode.value === 'dock')
const toggleMode = () => {
mode.value = mode.value === 'rail' ? 'dock' : 'rail'
}
const currentWidth = computed(() => {
return mode.value === 'rail' ? MINI_SIDEBAR_V2_RAIL_WIDTH : MINI_SIDEBAR_V2_DOCK_WIDTH
})
return {
mode,
isRail,
isDock,
toggleMode,
currentWidth,
}
})