21 lines
575 B
TypeScript
Raw Permalink Normal View History

2026-05-31 13:21:13 +02:00
import { useInterval } from '@vueuse/core'
import { computed } from 'vue'
export function useTimer() {
const { counter, isActive, reset, pause, resume } = useInterval(1000, { controls: true })
const timer = computed(() => {
const passed = counter.value
const sec = Math.floor(passed % 60).toString().padStart(2, '0')
const min = Math.floor(passed / 60).toString().padStart(2, '0')
return `${min}:${sec}`
})
return {
timer,
isTimerAvctive: isActive,
resetTimer: reset,
toggleTimer: () => (isActive.value ? pause() : resume()),
}
}