summaryrefslogtreecommitdiff
path: root/src/lib/flashSale
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/flashSale')
-rw-r--r--src/lib/flashSale/components/FlashSale.jsx14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/lib/flashSale/components/FlashSale.jsx b/src/lib/flashSale/components/FlashSale.jsx
index f4be279e..9c0e713b 100644
--- a/src/lib/flashSale/components/FlashSale.jsx
+++ b/src/lib/flashSale/components/FlashSale.jsx
@@ -9,13 +9,23 @@ import { FlashSaleSkeleton } from '../skeleton/FlashSaleSkeleton';
const FlashSale = () => {
const [flashSales, setFlashSales] = useState(null);
const [isLoading, setIsLoading] = useState(true);
+ const [duration, setDuration] = useState();
+ const calculateRemainingTime = (endDate) => {
+ const currentTime = new Date();
+ const endTime = new Date(endDate);
+ const remainingTimeInSeconds = (endTime - currentTime) / 1000;
+
+ return Math.max(Math.round(remainingTimeInSeconds), 0);
+ };
useEffect(() => {
const loadFlashSales = async () => {
const res = await fetch('/api/flashsale-header');
const { data } = await res.json();
if (data) {
setFlashSales(data);
+ const remainingTime = calculateRemainingTime(data[0]?.endDate);
+ setDuration(remainingTime);
}
setIsLoading(false);
};
@@ -37,7 +47,7 @@ const FlashSale = () => {
<div className='font-medium sm:text-h-lg mt-1.5'>
{flashSale.name}
</div>
- <CountDown initialTime={flashSale.duration} />
+ <CountDown initialTime={duration} />
</div>
<div className='relative'>
@@ -59,7 +69,7 @@ const FlashSale = () => {
/>
<FlashSaleProduct
flashSaleId={flashSale.pricelistId}
- duration={flashSale.duration}
+ duration={duration}
/>
</div>
</div>