/
anclaev
/
svadba
Обзор
Документация
Войти
/
anclaev
/
svadba
Код
Запросы
0
Пакеты
0
Релизы
7
Аналитика
Безопасность
develop
apps/web/src/core/hooks/use-timer.ts
32 строки
614 B
Artem Samarin
refactor(web): реструктуризация кода клиента.
28 мар 2025, 16:53
Не верифицирован
28 мар 2025, 16:53
bdf7e6b
Код
Авторство
О чём код?
'use client' import { useEffect, useState } from 'react' import { calcTimeDelta, CountdownTimeDelta } from 'react-countdown' const initialDelta: CountdownTimeDelta = { days: 0, hours: 0, minutes: 0, seconds: 0, milliseconds: 0, total: 0, completed: false, } export const useTimer = (date: Date): CountdownTimeDelta => { const [delta, setDelta] = useState<CountdownTimeDelta>(initialDelta) useEffect(() => { const interval = setInterval(() => { setDelta(calcTimeDelta(date)) }) return () => { clearInterval(interval) } }, [date]) return { ...delta, } }