@chekinapp/ui 0.0.94 → 0.0.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +13 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +45 -35
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -3788,9 +3788,14 @@ function useSwitchSectionActive(preloadedSectionActive, { canToggle, onToggle, o
|
|
|
3788
3788
|
|
|
3789
3789
|
// src/hooks/use-timer.ts
|
|
3790
3790
|
var import_react33 = require("react");
|
|
3791
|
-
var useTimer = ({ seconds }) => {
|
|
3791
|
+
var useTimer = ({ seconds, enabled = true, onFinish }) => {
|
|
3792
3792
|
const [timeLeft, setTimeLeft] = (0, import_react33.useState)(seconds);
|
|
3793
|
-
const [isTimerRunning, setIsTimerRunning] = (0, import_react33.useState)(
|
|
3793
|
+
const [isTimerRunning, setIsTimerRunning] = (0, import_react33.useState)(enabled);
|
|
3794
|
+
const handleOnFinish = useEvent(onFinish);
|
|
3795
|
+
(0, import_react33.useEffect)(() => {
|
|
3796
|
+
setTimeLeft(seconds);
|
|
3797
|
+
setIsTimerRunning(enabled);
|
|
3798
|
+
}, [enabled, seconds]);
|
|
3794
3799
|
(0, import_react33.useEffect)(() => {
|
|
3795
3800
|
if (!isTimerRunning) return;
|
|
3796
3801
|
const timer = setInterval(() => {
|
|
@@ -3805,9 +3810,14 @@ var useTimer = ({ seconds }) => {
|
|
|
3805
3810
|
}, 1e3);
|
|
3806
3811
|
return () => clearInterval(timer);
|
|
3807
3812
|
}, [isTimerRunning]);
|
|
3813
|
+
(0, import_react33.useEffect)(() => {
|
|
3814
|
+
if (timeLeft <= 0) {
|
|
3815
|
+
handleOnFinish();
|
|
3816
|
+
}
|
|
3817
|
+
}, [timeLeft]);
|
|
3808
3818
|
const resetTimer = () => {
|
|
3809
3819
|
setTimeLeft(seconds);
|
|
3810
|
-
setIsTimerRunning(
|
|
3820
|
+
setIsTimerRunning(enabled);
|
|
3811
3821
|
};
|
|
3812
3822
|
return {
|
|
3813
3823
|
timeLeft,
|