fix: refine unavailable slot grouping validation logic

This commit is contained in:
2026-05-10 12:08:13 +01:00
parent f1a9d129e6
commit e7d3a83867
@@ -554,15 +554,16 @@
if (isAvailable) { if (isAvailable) {
if (currentUnavailableStart !== null) { if (currentUnavailableStart !== null) {
// Use the end time of the last available slot as the start of unavailable period
const unavailableStartTime = lastAvailableEndTime || currentUnavailableStart;
const groupEndTime = calculatePreviousTime(timeStr); const groupEndTime = calculatePreviousTime(timeStr);
const unavailableStartTime = currentUnavailableStart || lastAvailableEndTime;
if (unavailableStartTime && timeToMinutes(unavailableStartTime) < timeToMinutes(groupEndTime)) {
groupedSlots.push({ groupedSlots.push({
type: 'unavailable', type: 'unavailable',
startTime: unavailableStartTime, startTime: unavailableStartTime,
endTime: groupEndTime, endTime: groupEndTime,
isGrouped: true isGrouped: true
}); });
}
currentUnavailableStart = null; currentUnavailableStart = null;
} }