"use client"; import React, { useState, useEffect } from "react"; const CountdownTimer = ({ style = 1, targetDate = "2025-06-31T23:59:59" }) => { const [showTimer, setShowTimer] = useState(false); useEffect(() => { setShowTimer(true); }, []); const calculateTimeLeft = () => { const difference = +new Date(targetDate) - +new Date(); if (difference > 0) { return { days: Math.floor(difference / (1000 * 60 * 60 * 24)), hours: Math.floor((difference / (1000 * 60 * 60)) % 24), minutes: Math.floor((difference / 1000 / 60) % 60), seconds: Math.floor((difference / 1000) % 60), }; } return null; // Time is up }; const [timeLeft, setTimeLeft] = useState(calculateTimeLeft()); useEffect(() => { const timer = setInterval(() => { setTimeLeft(calculateTimeLeft()); }, 1000); return () => clearInterval(timer); // Cleanup the timer on component unmount }, [targetDate]); if (!timeLeft) { return
Time's up!
; } return ( <> {showTimer ? ( <> {style == 1 && ( )} {style == 2 && ( )} {style == 3 && ( )} {style == 4 && ( )} {style == 5 && ( )} ) : ( "" )} {style == 6 && ( )} ); }; export default CountdownTimer;