fix(booking): prevent past time slots from being selectable for today

This commit is contained in:
Jose Selesan
2026-06-08 22:50:56 -03:00
parent 8c3ca0e7e1
commit d767ac3ac7
2 changed files with 11 additions and 0 deletions

View File

@@ -147,6 +147,9 @@ function buildSegmentsForCourt(
const segments: BookingTimelineSegment[] = [];
const slotDuration = court.slotDurationMinutes;
const nowMinutes = timeToMinutes(getNowTime());
const isToday = isTodayIso(selectedDate);
const availabilityRanges = court.availability
.filter((range) => range.dayOfWeek === dayOfWeek)
.map((range) => ({
@@ -181,6 +184,9 @@ function buildSegmentsForCourt(
slotStart += slotDuration
) {
const slotEnd = slotStart + slotDuration;
if (isToday && slotEnd <= nowMinutes) continue;
const isBooked = courtBookings.some((booking) =>
overlapsBooking(slotStart, slotEnd, booking)
);