mirror of
https://github.com/makeplane/plane.git
synced 2025-12-17 12:27:50 +01:00
20 lines
395 B
TypeScript
20 lines
395 B
TypeScript
|
|
import { useState, useEffect } from "react";
|
||
|
|
|
||
|
|
const TIMER = 30;
|
||
|
|
|
||
|
|
const useTimer = (initialValue: number = TIMER) => {
|
||
|
|
const [timer, setTimer] = useState(initialValue);
|
||
|
|
|
||
|
|
useEffect(() => {
|
||
|
|
const interval = setInterval(() => {
|
||
|
|
setTimer((prev) => prev - 1);
|
||
|
|
}, 1000);
|
||
|
|
|
||
|
|
return () => clearInterval(interval);
|
||
|
|
}, []);
|
||
|
|
|
||
|
|
return { timer, setTimer };
|
||
|
|
};
|
||
|
|
|
||
|
|
export default useTimer;
|