Skip to content

Commit f3f2acb

Browse files
authored
fix: should reshow cursor when switching out playing page (#2084)
1 parent dac27f2 commit f3f2acb

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

packages/client/composables/useHideCursorIdle.ts

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Ref } from 'vue'
22
import { useEventListener } from '@vueuse/core'
3-
import { computed, watch } from 'vue'
3+
import { computed, onScopeDispose, watch } from 'vue'
44
import { hideCursorIdle } from '../state'
55

66
const TIMEOUT = 2000
@@ -17,8 +17,6 @@ export function useHideCursorIdle(
1717
document.body.style.cursor = ''
1818
}
1919

20-
let timer: ReturnType<typeof setTimeout> | null = null
21-
2220
// If disabled, immediately show the cursor
2321
watch(
2422
shouldHide,
@@ -27,17 +25,22 @@ export function useHideCursorIdle(
2725
show()
2826
},
2927
)
28+
onScopeDispose(show)
3029

30+
let timer: ReturnType<typeof setTimeout> | null = null
3131
useEventListener(
3232
document.body,
3333
['pointermove', 'pointerdown'],
3434
() => {
3535
show()
3636
if (timer)
3737
clearTimeout(timer)
38-
if (!shouldHide.value)
39-
return
40-
timer = setTimeout(hide, TIMEOUT)
38+
if (shouldHide.value) {
39+
timer = setTimeout(hide, TIMEOUT)
40+
}
41+
else {
42+
timer = null
43+
}
4144
},
4245
{ passive: true },
4346
)

packages/client/pages/play.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { onContextMenu } from '../logic/contextMenu'
1515
import { registerShortcuts } from '../logic/shortcuts'
1616
import { editorHeight, editorWidth, isEditorVertical, isScreenVertical, showEditor, viewerCssFilter, viewerCssFilterDefaults } from '../state'
1717
18-
const { next, prev, isPrintMode, isPresenter } = useNav()
18+
const { next, prev, isPrintMode, isPlaying, isEmbedded } = useNav()
1919
const { isDrawing } = useDrawings()
2020
2121
const root = ref<HTMLDivElement>()
@@ -36,7 +36,7 @@ useSwipeControls(root)
3636
registerShortcuts()
3737
if (__SLIDEV_FEATURE_WAKE_LOCK__)
3838
useWakeLock()
39-
useHideCursorIdle(computed(() => !isPresenter.value && !isPrintMode.value))
39+
useHideCursorIdle(computed(() => isPlaying.value && !isEmbedded.value && !showEditor.value))
4040
4141
if (import.meta.hot) {
4242
useStyleTag(computed(() => showEditor.value

0 commit comments

Comments
 (0)