هسته‌ی تقویم

calendar-coreکامپوننت تقویم

پایه‌ی مشترک همه‌ی نماهای تقویم که منطقه‌ی زمانی، تعطیلات رسمی ایران، تاریخ قمری زیر هر روز، نوار ابزار، چیپ رویداد و ناوبری با کیبورد را یک‌جا فراهم می‌کنه.

هفته‌ی ۱۸ تا ۲۴

مهر ۱۴۰۵

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

نصب

  1. با CLI

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

    $ npx vibefarsi add calendar-core
  2. نصب دستی

    محتوای تب «کد» را در components/calendar/calendar-core.tsx بگذارید.

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

استفاده

usage.tsx
1import { CalendarProvider } from "@/components/calendar/calendar-core"23// همه‌ی نماها بدون Provider هم کار می‌کنن. برای تنظیم مشترک:4<CalendarProvider timeZone="Asia/Tehran" secondary="hijri" weekend={[6]}>5  <MonthView events={events} />6  <AgendaView events={events} />7</CalendarProvider>

پراپ‌ها

پراپنوعپیش‌فرضتوضیح
timeZonestring"Asia/Tehran"رویدادهای ساعت‌دار در این منطقه چیده میشن، حتی اگه مرورگر کاربر جای دیگه‌ای باشه.
occasionsOccasionProvider | falseiranOccasionsتعطیلات رسمی ایران به‌صورت پیش‌فرض روشنه. تابع خودتون را بدید تا از API بخونه، یا false تا خاموش بشه.
secondary"hijri" | "gregorian" | null"hijri"تاریخ دومی که کوچک زیر هر روز شمسی می‌آد.
weekendnumber[][6]روزهای تعطیل هفته، ۰ شنبه و ۶ جمعه. برای پنجشنبه هم [5, 6] بدید.

نکته‌ها

  • روزها با کلید «YYYY-MM-DD» شناخته میشن و رویدادهای ساعت‌دار لحظه‌ی واقعی (Date) هستن، پس تقویم با هر بک‌اندی جور درمیاد.
  • کلید جهت چپ روز بعد و جهت راست روز قبله، چون در راست‌چین روز بعد سمت چپ نشسته. PageUp و PageDown ماه را عوض می‌کنن.
  • رنگ رویدادها همون --chart-1 تا --chart-7 نمودارهاست، پس با سیستم طراحی شما یکی میشن.