نمای ماه

month-viewکامپوننت تقویم

ماه شمسی با رویدادهای چندروزه به شکل نوار از راست به چپ، اسم تعطیلی داخل خونه‌ی روز و «+۲ مورد دیگر» برای روزهای شلوغ.

مهر ۱۴۰۵

ربیع‌الثانی – جمادی‌الاول ۱۴۴۸

۲۸۷
۲۹۸
۳۰۹
۳۱۱۰
۱۱۱
۲۱۲
۳۱۳
۴۱۴
۵۱۵
۶۱۶
۷۱۷
۸۱۸
۹۱۹
۱۰۲۰
۱۱۲۱
۱۲۲۲
۱۳۲۳
۱۴۲۴
۱۵۲۵
۱۶۲۶
۱۷۲۷
۱۸۲۸
۱۹۲۹
۲۰۱
۲۱۲
۲۲۳
۲۳۴
۲۴۵
۲۵۶
۲۶۷
۲۷۸
۲۸۹
۲۹۱۰
۳۰۱۱
۱۱۲
۲۱۳
۳۱۴
۴۱۵
۵۱۶
۶۱۷
۷۱۸
۸۱۹

نصب

  1. با CLI

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

    $ npx vibefarsi add month-view
  2. نصب دستی

    محتوای تب «کد» را در components/calendar/month-view.tsx بگذارید. پیش‌نیاز: calendar-core، popover.

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

استفاده

usage.tsx
1import { MonthView } from "@/components/calendar/month-view"23<MonthView4  events={events}5  selected={selectedKey}6  onDayClick={(date) => setSelectedKey(dayKey(date))}7  onEventClick={(e) => openEvent(e.id)}8/>

پراپ‌ها

پراپنوعپیش‌فرضتوضیح
month / defaultMonthDate-هر روزی از ماهی که نمایش داده میشه.
selectedstring-کلید روز انتخاب‌شده مثل «2026-10-12».
maxLanesnumber3چند ردیف رویداد در هر هفته قبل از «+۲ مورد دیگر».
fixedWeeksbooleantrueهمیشه شش هفته تا ارتفاع بین ماه‌ها نپره.

نکته‌ها

  • زیر حدود ۵۶۰ پیکسل نوارها به نقطه‌های رنگی تبدیل میشن تا روی موبایل خونه‌ها شلوغ نشن.