diff --git a/src/pages/ResourceCalendar.tsx b/src/pages/ResourceCalendar.tsx index 7d462a0..cc24227 100644 --- a/src/pages/ResourceCalendar.tsx +++ b/src/pages/ResourceCalendar.tsx @@ -20,13 +20,17 @@ const ResourceCalendar: React.FC = () => { const loadData = async () => { try { setLoading(true); + console.log('Loading calendar for resource ID:', id); const [resourceData, reservationsData] = await Promise.all([ api.getResource(id), api.getReservations(id) ]); + console.log('Resource data:', resourceData); + console.log('Reservations data:', reservationsData); setResource(resourceData); setReservations(reservationsData); } catch (err) { + console.log('Error loading calendar:', err); setError(err instanceof Error ? err.message : 'Failed to load data'); } finally { setLoading(false); @@ -39,6 +43,8 @@ const ResourceCalendar: React.FC = () => { const weekStart = startOfWeek(currentWeek, { weekStartsOn: 1 }); const weekDays = Array.from({ length: 7 }, (_, i) => addDays(weekStart, i)); + + // Generate time slots from 8 AM to 8 PM const timeSlots = Array.from({ length: 13 }, (_, i) => { const hour = i + 8; // Start at 8 AM @@ -50,13 +56,14 @@ const ResourceCalendar: React.FC = () => { const slotEnd = addHours(slotStart, 1); return reservations.find(reservation => { - const reservationStart = new Date(reservation.startTime); - const reservationEnd = new Date(reservation.endTime); + const reservationStart = new Date(reservation.startDate); + const reservationEnd = new Date(reservation.endDate); + // Check if reservation occupies this time slot return ( (reservationStart < slotEnd && reservationEnd > slotStart) || (isSameDay(reservationStart, date) && - reservationStart.getHours() === slotStart.getHours()) + reservationStart.getHours() === timeSlot.getHours()) ); }) || null; }; @@ -228,7 +235,7 @@ const ResourceCalendar: React.FC = () => { }}>