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);
groupedSlots.push({ const unavailableStartTime = currentUnavailableStart || lastAvailableEndTime;
type: 'unavailable', if (unavailableStartTime && timeToMinutes(unavailableStartTime) < timeToMinutes(groupEndTime)) {
startTime: unavailableStartTime, groupedSlots.push({
endTime: groupEndTime, type: 'unavailable',
isGrouped: true startTime: unavailableStartTime,
}); endTime: groupEndTime,
isGrouped: true
});
}
currentUnavailableStart = null; currentUnavailableStart = null;
} }