summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/use-document-visibility.ts
diff options
context:
space:
mode:
authorYS <47836716+yszkst@users.noreply.github.com>2023-02-25 08:18:12 +0900
committerGitHub <noreply@github.com>2023-02-25 08:18:12 +0900
commitcc8d60e53b608778abed1151b0f3ffa9acac93fb (patch)
tree98bc7e2ce01eb5db4f4fd6af425f56c2471d3b03 /packages/frontend/src/scripts/use-document-visibility.ts
parentWindows環境でswcを使うと正常にビルドができない問題の修... (diff)
downloadsharkey-cc8d60e53b608778abed1151b0f3ffa9acac93fb.tar.gz
sharkey-cc8d60e53b608778abed1151b0f3ffa9acac93fb.tar.bz2
sharkey-cc8d60e53b608778abed1151b0f3ffa9acac93fb.zip
バックグラウンドで一定時間経過したらページネーションのアイテム更新をしない (#10053)
Diffstat (limited to 'packages/frontend/src/scripts/use-document-visibility.ts')
-rw-r--r--packages/frontend/src/scripts/use-document-visibility.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/frontend/src/scripts/use-document-visibility.ts b/packages/frontend/src/scripts/use-document-visibility.ts
new file mode 100644
index 0000000000..47e91dd937
--- /dev/null
+++ b/packages/frontend/src/scripts/use-document-visibility.ts
@@ -0,0 +1,19 @@
+import { onMounted, onUnmounted, ref, Ref } from 'vue';
+
+export function useDocumentVisibility(): Ref<DocumentVisibilityState> {
+ const visibility = ref(document.visibilityState);
+
+ const onChange = (): void => {
+ visibility.value = document.visibilityState;
+ };
+
+ onMounted(() => {
+ document.addEventListener('visibilitychange', onChange);
+ });
+
+ onUnmounted(() => {
+ document.removeEventListener('visibilitychange', onChange);
+ });
+
+ return visibility;
+}