نمای هفته و روز

time-gridکامپوننت تقویم

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

۱۸ مهر تا ۲۴ مهر ۱۴۰۵

مهر ۱۴۰۵

شنبه۱۸۲۸
یکشنبه۱۹۲۹
دوشنبه۲۰۱
سه‌شنبه۲۱۲
چهارشنبه۲۲۳
پنجشنبه۲۳۴
جمعه۲۴۵
تمام روز

نصب

  1. با CLI

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

    $ npx vibefarsi add time-grid
  2. نصب دستی

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

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

استفاده

usage.tsx
1import { TimeGrid } from "@/components/calendar/time-grid"23<TimeGrid4  days={7}5  events={events}6  startHour={8}7  endHour={20}8  onSlotSelect={(start, end) => create({ start, end })}9  onEventChange={(e, start, end) => move(e.id, start, end)}10/>

پراپ‌ها

پراپنوعپیش‌فرضتوضیح
days1 | 77نمای هفته از شنبه تا جمعه یا یک روز.
startHour / endHournumber7 / 22ساعت‌های نمایش داده‌شده.
slotMinutesnumber30گام چسبیدن هنگام انتخاب و کشیدن.
hourHeight / maxHeightnumber48 / 560ارتفاع هر ساعت و حداکثر ارتفاع بخش اسکرول‌شونده.
onEventChange(event, start, end) => void-بدون این پراپ رویدادها فقط کلیک می‌خورن.

نکته‌ها

  • رویداد فوکوس‌شده با Alt و کلیدهای جهت جابه‌جا میشه: بالا و پایین به اندازه‌ی یک گام و چپ و راست یک روز.
  • رویدادهای تمام‌روز و چندروزه در ردیف بالای جدول می‌نشینن.