@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 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)(true);
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(true);
3820
+ setIsTimerRunning(enabled);
3811
3821
  };
3812
3822
  return {
3813
3823
  timeLeft,