شمارش معکوس

countdownکامپوننت

تایمر شمارش معکوس با اعداد فارسی؛ برای فلش‌سیلز فروشگاه یا لانچ محصول در لندینگ.

--

روز

--

ساعت

--

دقیقه

--

ثانیه

نصب

  1. با CLI

    اگر هنوز init نکردید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور کامپوننت و وابستگی‌هاش را می‌نویسه.

    $ npx vibefarsi add countdown
  2. نصب دستی

    محتوای تب «کد» را در components/ui/countdown.tsx بگذارید.

    $ npm i lucide-react
    کپی کل فایلregistry json

استفاده

usage.tsx
1import { Countdown } from "@/components/ui/countdown"23const launch = new Date("2026-10-01T12:00:00+03:30")45<Countdown target={launch} className="max-w-md" />6<Countdown target={launch} units={["hours", "minutes", "seconds"]} variant="inline" size="sm" />

پراپ‌ها

پراپنوعپیش‌فرضتوضیح
targetDate | string | number-زمان پایان؛ Date، رشته‌ی ISO یا timestamp.
units("days" | "hours" | "minutes" | "seconds")[]هر چهار واحدکدام خانه‌ها نشان داده شوند، به ترتیب چپ‌به‌راست.
variant"cards" | "inline""cards"کارت‌های جدا یا ۱۲:۳۴:۵۶ با دونقطه.
size"sm" | "md" | "lg""md"اندازه‌ی رقم و پدینگ.
padbooleantrueرقم‌ها دوخانه‌ای با صفر (۰۰).
labelsPartial<Record<unit, string>>-برچسب فارسی هر واحد؛ پیش‌فرض روز/ساعت/دقیقه/ثانیه.
onComplete() => void-یک‌بار وقتی به صفر رسید.

نکته‌های راست‌چین

  • تا قبل از mount خانه‌ها «--» هستند تا HTML سرور و کلاینت یکی بماند.
  • useCountdown را هم می‌توان جدا برای منطق سفارشی import کرد.
  • dir=ltr روی رقم‌هاست تا ترتیب روز←ثانیه درست خوانده شود؛ برچسب‌ها فارسی می‌مانند.