From a279b01052721133b55d2cffc2fbbf20c76c028b Mon Sep 17 00:00:00 2001 From: Akim Mamedov Date: Thu, 14 Mar 2024 11:59:47 +0700 Subject: [PATCH] Another fix of countdown --- web/src/hooks/useCountdown.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/web/src/hooks/useCountdown.js b/web/src/hooks/useCountdown.js index d966f7f..5cc1f2b 100644 --- a/web/src/hooks/useCountdown.js +++ b/web/src/hooks/useCountdown.js @@ -5,25 +5,25 @@ const format = ({ months = 0, days = 0, hours = 0, minutes = 0, seconds = 0 }) = `${months}M ${days}d ${hours}h ${minutes}m ${seconds}s`; export const useCountdown = (date) => { - const [duration, setDuration] = useState( - isPast(date) ? {} : intervalToDuration({ + const [duration, setDuration] = useState({}); + + useEffect(() => { + setDuration(isPast(date) ? {} : intervalToDuration({ start: Date.now(), end: date, - }), - ); + })); - useEffect(() => { const timer = setInterval(() => { if (isPast(date)) { clearInterval(timer); + setDuration({}); return; } - const intToDur = intervalToDuration({ + setDuration(intervalToDuration({ start: Date.now(), end: date, - }); - setDuration(intToDur); + })); }, 1000); return () => clearInterval(timer);