Files
nobat724_front/lib/appointmentSlots.js
T

20 lines
755 B
JavaScript

export function adaptSlots(slotsResponse) {
const sessions = slotsResponse?.data?.sessions ?? slotsResponse?.sessions ?? [];
// Group slots by the shifts the backend already returns; the front does not
// decide shift boundaries (no hard-coded morning/evening split). Each session
// becomes one tab labelled with its own time range.
return sessions
.filter((session) => Array.isArray(session.slots) && session.slots.length > 0)
.map((session) => ({
start_time: session.start_time,
end_time: session.end_time,
label: `${session.start_time} - ${session.end_time}`,
slots: session.slots,
}));
}
export function hasAvailable(slots) {
return Array.isArray(slots) && slots.some((slot) => slot.is_available);
}