diff --git a/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue b/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue index fc2bb60c63..7ba3cb0c77 100644 --- a/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue +++ b/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue @@ -288,6 +288,24 @@ defineOgImageComponent('Default', { primaryColor: '#60a5fa', }) + +// Sidebar visibility +const { settings } = useSettings() +const isSidebarCollapsed = computed({ + get: () => settings.value.sidebar.collapsed.includes('code'), + set: value => { + const collapsed = settings.value.sidebar.collapsed.filter(id => id !== 'code') + if (value) { + collapsed.push('code') + } + settings.value.sidebar.collapsed = collapsed + }, +}) + +function toggleSidebar() { + isSidebarCollapsed.value = !isSidebarCollapsed.value +} + onPrehydrate(el => { const settingsSaved = JSON.parse(localStorage.getItem('npmx-settings') || '{}') const container = el.querySelector('#code-page-container') @@ -296,6 +314,7 @@ onPrehydrate(el => { container.classList.add('container-full') } }) +