20 lines
755 B
JavaScript
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);
|
|
}
|