Skip to content

Commit f4f1a6c

Browse files
authored
feat(theme): auto open collapsed sidebar on entering (#1094)
1 parent f9d2799 commit f4f1a6c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/client/theme-default/components/VPSidebarGroup.vue

+9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<script lang="ts" setup>
22
import type { DefaultTheme } from 'vitepress/theme'
33
import { ref, watchEffect } from 'vue'
4+
import { useData } from 'vitepress'
5+
import { isActive } from '../support/utils'
46
import VPIconPlusSquare from './icons/VPIconPlusSquare.vue'
57
import VPIconMinusSquare from './icons/VPIconMinusSquare.vue'
68
import VPSidebarLink from './VPSidebarLink.vue'
@@ -17,6 +19,13 @@ watchEffect(() => {
1719
collapsed.value = !!(props.collapsible && props.collapsed)
1820
})
1921
22+
const { page } = useData()
23+
watchEffect(() => {
24+
if(props.items.some((item) => { return isActive(page.value.relativePath, item.link) })){
25+
collapsed.value = false
26+
}
27+
})
28+
2029
function toggle() {
2130
if (props.collapsible) {
2231
collapsed.value = !collapsed.value

0 commit comments

Comments
 (0)