import { useMemo } from 'react' import { Calendar } from 'lucide-react' interface CalendarEvent { id: string title: string time: string type: 'default' | 'maintenance' } interface WeeklyCalendarProps { events?: Record } const DAY_NAMES = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] function getWeekDays(): { label: string; date: Date; dateStr: string; isToday: boolean }[] { const now = new Date() const day = now.getDay() const mondayOffset = day === 0 ? 6 : day - 1 const monday = new Date(now) monday.setDate(now.getDate() - mondayOffset) return DAY_NAMES.map((label, i) => { const d = new Date(monday) d.setDate(monday.getDate() + i) const dateStr = d.toISOString().split('T')[0] const isToday = d.toDateString() === now.toDateString() return { label, date: d, dateStr, isToday } }) } export function WeeklyCalendar({ events = {} }: WeeklyCalendarProps) { const days = useMemo(() => getWeekDays(), []) return (

This Week

{days.map((day, i) => { const dayEvents = events[day.dateStr] || [] return (
{day.label}
{day.date.getDate()}
{dayEvents.length === 0 ? (

No events

) : ( dayEvents.map(event => (
{event.title}
{event.time}
)) )}
) })}
) }