{currentMonth.toLocaleString('id-ID', { month: 'long', year: 'numeric' })}
{['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'].map((day) => (
{day}
))}
{calendarGrid.flat().map((date, index) => {
if (!date) {
return
;
}
const isToday = isSameDay(date, new Date());
const isSelected = selectedDate ? isSameDay(date, selectedDate) : false;
const dayEvents = events.filter((e) => isSameDay(e.date, date));
return (
onDateSelect(date)}
className={`h-24 p-1.5 border rounded-md flex flex-col cursor-pointer transition-colors ${
isSelected
? 'bg-red-100 border-red-300'
: 'bg-white hover:bg-gray-100 border-gray-200'
}`}
>
{date.getDate()}
{dayEvents.slice(0, 2).map((event) => (
))}
{dayEvents.length > 2 && (
+{dayEvents.length - 2} lagi
)}
);
})}
);
};
export default CalendarView;