'use client';
import { useState, useEffect } from 'react';
import { intervalToDuration, differenceInDays } from 'date-fns';

const Countdown = () => {
    const [duration, setDuration] = useState<Duration>({});

    useEffect(() => {
        const startDate = new Date('2025-01-04T00:00:00');

        const calculateDuration = () => {
            const now = new Date();
            if (now < startDate) {
                setDuration({ years: 0, months: 0, days: 0, hours: 0, minutes: 0, seconds: 0 });
                return;
            }
            const calculatedDuration = intervalToDuration({ start: startDate, end: now });
            setDuration(calculatedDuration);
        };
        
        const timer = setInterval(calculateDuration, 1000);
        calculateDuration();

        return () => clearInterval(timer);
    }, []);

    const startDate = new Date('2025-01-04T00:00:00');
    const totalDays = differenceInDays(new Date(), startDate);

    return {
        days: totalDays >= 0 ? totalDays : 0,
        hours: duration.hours ?? 0,
        minutes: duration.minutes ?? 0,
        seconds: duration.seconds ?? 0,
    };
};

export default Countdown;
