Files
policy-ui/app/composables/useAppShellLayout.ts
Jordan Weingarten 67482f6629 WIP jordan
2026-04-16 11:11:44 -05:00

33 lines
640 B
TypeScript

const STORAGE_KEY = 'policy-ui.sidebar.collapsed.v1'
export function useAppShellLayout() {
const sidebarCollapsed = ref(false)
onMounted(() => {
if (!import.meta.client) return
try {
sidebarCollapsed.value = localStorage.getItem(STORAGE_KEY) === '1'
} catch {
/* ignore */
}
})
watch(sidebarCollapsed, (c) => {
if (!import.meta.client) return
try {
localStorage.setItem(STORAGE_KEY, c ? '1' : '0')
} catch {
/* ignore */
}
})
function toggleSidebar() {
sidebarCollapsed.value = !sidebarCollapsed.value
}
return {
sidebarCollapsed,
toggleSidebar
}
}