"use client"; import { calculateTimeLeft } from "@/lib/hooks/useCalculateTimeLeft"; import React, { useState, useEffect, Dispatch, SetStateAction } from "react"; interface LotteryCountDownProps { startDate: string; // Event start date in "YYYY-MM-DD HH:mm:ss" format endDate: string; // Event end date in "YYYY-MM-DD HH:mm:ss" format lotteryStatus: string; setLotteryStatus: Dispatch< SetStateAction<"not-started" | "started" | "ended"> >; } const LotteryCountDown: React.FC = ({ startDate, endDate, lotteryStatus, setLotteryStatus, }) => { const [timeLeft, setTimeLeft] = useState({ hours: 0, minutes: 0, seconds: 0, }); console.log(lotteryStatus); useEffect(() => { const timer = setInterval(() => { if (lotteryStatus === "not-started") { const timeToStart = calculateTimeLeft(startDate); setTimeLeft(timeToStart); if ( timeToStart.hours === 0 && timeToStart.minutes === 0 && timeToStart.seconds === 0 ) { setLotteryStatus("started"); // Update status to "started" } } else if (lotteryStatus === "started") { const timeToEnd = calculateTimeLeft(endDate); setTimeLeft(timeToEnd); if ( timeToEnd.hours === 0 && timeToEnd.minutes === 0 && timeToEnd.seconds === 0 ) { setLotteryStatus("ended"); // Update status to "finished" } } }, 1000); return () => clearInterval(timer); // Clean up interval on component unmount }, [startDate, endDate, lotteryStatus, setLotteryStatus]); return (

{lotteryStatus === "started" ? "Bije dowam edýär" : lotteryStatus === "ended" ? "Bije tamamlandy" : "Bije"}

{/* LotteryCountDown */} {lotteryStatus === "not-started" && (

{timeLeft.hours}

hours

{/* Dots */}

{timeLeft.minutes}

minutes

{/* Dots */}

{timeLeft.seconds}

seconds

)}
{lotteryStatus === "not-started" ? "- den başlar" : lotteryStatus === "started" ? "girmek üçin aşakda kodyňyzy giriziň" : "netijeleri görmek üçin aşakda kodyňyzy giriziň"}
); }; export default LotteryCountDown;