diff --git a/src/components/ProgressBar.tsx b/src/components/ProgressBar.tsx index 66c9f11..41804c1 100644 --- a/src/components/ProgressBar.tsx +++ b/src/components/ProgressBar.tsx @@ -29,7 +29,7 @@ function ProgressBar() { } }, [dayUpdateEveryDay]); - useInterval(shouldDayUpdate); + useInterval(shouldDayUpdate, 1000); const tasksByProject = useMemo(() => Object.values(tasksStore.tasks), [ tasksStore.tasks, @@ -43,6 +43,7 @@ function ProgressBar() { const timeItems = useMemo(() => getTimeItems(tasks, dayUpdateEveryDay), [ tasks, + dayUpdateEveryDay, ]); const workingTimeStart = useMemo(() => getStartWorkingTime(timeItems), [ diff --git a/src/hooks/UseInterval.ts b/src/hooks/UseInterval.ts index d0324cb..41d8c20 100644 --- a/src/hooks/UseInterval.ts +++ b/src/hooks/UseInterval.ts @@ -2,10 +2,7 @@ import { useEffect } from 'react'; export function useInterval(fn: () => void, intervalMs: number = 1000) { useEffect(() => { - let intervalId = setTimeout(function run() { - fn(); - intervalId = setTimeout(run, intervalMs); - }, intervalMs); - return () => clearTimeout(intervalId); - }, [fn]); + const intervalId = setInterval(fn, intervalMs); + return () => clearInterval(intervalId); + }, [fn, intervalMs]); } diff --git a/src/package.json b/src/package.json index 2502f6f..76ccac7 100644 --- a/src/package.json +++ b/src/package.json @@ -1,7 +1,7 @@ { "name": "time-tracker", "productName": "TimeTracker", - "version": "1.0.8", + "version": "1.0.9", "description": "Start and stop time, jump between tasks, and add details on how time was spent.", "main": "./main.prod.js", "author": {