Skip to content

Commit 05a0646

Browse files
authored
fix: make useIsSlideActive() based on useSlideContext().$nav.currentSlideNo instead of useNav().currentSlideNo (#2311)
1 parent 044eb3b commit 05a0646

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

packages/client/logic/slides.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import type { SlideRoute } from '@slidev/types'
22
import { slides } from '#slidev/slides'
33
import { computed, watch, watchEffect } from 'vue'
4-
import { useNav } from '../composables/useNav'
54
import { useSlideContext } from '../context'
65

76
export { slides }
@@ -24,9 +23,8 @@ export function getSlidePath(
2423
}
2524

2625
export function useIsSlideActive() {
27-
const { $page } = useSlideContext()
28-
const { currentSlideNo } = useNav()
29-
return computed(() => $page.value === currentSlideNo.value)
26+
const { $page, $nav } = useSlideContext()
27+
return computed(() => $page.value === $nav.value.currentSlideNo) // Use `$nav.value.currentSlideNo` rather than `useNav().currentSlideNo` to make it work in print/export mode. See https://github.com/slidevjs/slidev/issues/2310.
3028
}
3129

3230
export function onSlideEnter(cb: () => void) {

0 commit comments

Comments
 (0)