feat(use): usePageVisibility
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
import { ref } from 'vue';
|
||||||
|
import { inBrowser } from '../shared';
|
||||||
|
import { useEventListener } from '../useEventListener';
|
||||||
|
|
||||||
|
export function usePageVisibility() {
|
||||||
|
const visibility = ref<VisibilityState>('visible');
|
||||||
|
|
||||||
|
const setVisibility = () => {
|
||||||
|
if (inBrowser) {
|
||||||
|
visibility.value = document.hidden ? 'hidden' : 'visible';
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
setVisibility();
|
||||||
|
useEventListener('visibilitychange', setVisibility);
|
||||||
|
|
||||||
|
return visibility;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user