نمای هفته و روز
time-gridکامپوننت تقویمستون ساعتها سمت راست، شنبه اولین ستون، رویدادهای همزمان کنار هم و خط قرمز «الان». روی زمان خالی بکشید تا رویداد بسازید و رویداد را بکشید تا جابهجا بشه.
۱۸ مهر تا ۲۴ مهر ۱۴۰۵
مهر ۱۴۰۵
شنبه۱۸۲۸
یکشنبه۱۹۲۹
دوشنبه۲۰۱
سهشنبه۲۱۲
چهارشنبه۲۲۳
پنجشنبه۲۳۴
جمعه۲۴۵
تمام روز
نصب
با CLI
اگر هنوز init نکردید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور کامپوننت و وابستگیهاش را مینویسه.
$ npx vibefarsi add time-gridنصب دستی
محتوای تب «کد» را در
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/>پراپها
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| days | 1 | 7 | 7 | نمای هفته از شنبه تا جمعه یا یک روز. |
| startHour / endHour | number | 7 / 22 | ساعتهای نمایش دادهشده. |
| slotMinutes | number | 30 | گام چسبیدن هنگام انتخاب و کشیدن. |
| hourHeight / maxHeight | number | 48 / 560 | ارتفاع هر ساعت و حداکثر ارتفاع بخش اسکرولشونده. |
| onEventChange | (event, start, end) => void | - | بدون این پراپ رویدادها فقط کلیک میخورن. |
نکتهها
- رویداد فوکوسشده با Alt و کلیدهای جهت جابهجا میشه: بالا و پایین به اندازهی یک گام و چپ و راست یک روز.
- رویدادهای تمامروز و چندروزه در ردیف بالای جدول مینشینن.