diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2024-01-20 21:23:33 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2024-01-20 21:23:33 +0900 |
| commit | fcd7ffe95639ac74117e438ba68c5e3df7560dcb (patch) | |
| tree | efdcfe4387f6fd50d6ac5400a0835cbd2429acfc /packages/frontend/src/scripts/use-interval.ts | |
| parent | Update Dockerfile (diff) | |
| download | sharkey-fcd7ffe95639ac74117e438ba68c5e3df7560dcb.tar.gz sharkey-fcd7ffe95639ac74117e438ba68c5e3df7560dcb.tar.bz2 sharkey-fcd7ffe95639ac74117e438ba68c5e3df7560dcb.zip | |
enhance(reversi): tweak reversi
Diffstat (limited to 'packages/frontend/src/scripts/use-interval.ts')
| -rw-r--r-- | packages/frontend/src/scripts/use-interval.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/packages/frontend/src/scripts/use-interval.ts b/packages/frontend/src/scripts/use-interval.ts index b8c5431fb6..d8ffb2205b 100644 --- a/packages/frontend/src/scripts/use-interval.ts +++ b/packages/frontend/src/scripts/use-interval.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { onMounted, onUnmounted } from 'vue'; +import { onActivated, onDeactivated, onMounted, onUnmounted } from 'vue'; export function useInterval(fn: () => void, interval: number, options: { immediate: boolean; @@ -28,6 +28,16 @@ export function useInterval(fn: () => void, interval: number, options: { intervalId = null; }; + onActivated(() => { + if (intervalId) return; + if (options.immediate) fn(); + intervalId = window.setInterval(fn, interval); + }); + + onDeactivated(() => { + clear(); + }); + onUnmounted(() => { clear(); }); |