"use client";
import NumberFlow from "@number-flow/react";
import { motion } from "framer-motion";
import { ArrowLeft } from "lucide-react";
import React, { useEffect, useState } from "react";
import { Button } from "@/components/ui/button";
import { cn } from "@/lib/utils";
const numberFlowLocales = "fa-IR-u-nu-latn";
const MotionNumberFlow = motion.create(NumberFlow);
const Stats14 = () => {
return (
۵۰ قابلیت سامانه مدیریت ارتباط با مشتری جدید هر فصل
);
};
export { Stats14 };
const DottedDiv = ({
children,
className,
}: {
children: React.ReactNode;
className?: string;
}) => (
);
interface CountdownProps {
endDate: Date;
startDate?: Date;
className?: string;
}
interface TimeLeft {
days: number;
hours: number;
minutes: number;
seconds: number;
}
function AnimatedNumberCountdown({
endDate,
startDate,
className,
}: CountdownProps) {
const [timeLeft, setTimeLeft] = useState({
days: 0,
hours: 0,
minutes: 0,
seconds: 0,
});
useEffect(() => {
const calculateTimeLeft = () => {
const start = startDate ? new Date(startDate) : new Date();
const end = new Date(endDate);
const difference = end.getTime() - start.getTime();
if (difference > 0) {
const days = Math.floor(difference / (1000 * 60 * 60 * 24));
const hours = Math.floor((difference / (1000 * 60 * 60)) % 24);
const minutes = Math.floor((difference / 1000 / 60) % 60);
const seconds = Math.floor((difference / 1000) % 60);
setTimeLeft({ days, hours, minutes, seconds });
} else {
setTimeLeft({ days: 0, hours: 0, minutes: 0, seconds: 0 });
}
};
calculateTimeLeft();
const timer = setInterval(calculateTimeLeft, 1000);
return () => clearInterval(timer);
}, [endDate, startDate]);
return (
روز
:
ساعت
:
دقیقه
:
ثانیه
);
}