/** * The week a calendar draws, shared by the component and by whoever fetches the * reservations for it: the fetch is narrowed to the window on the backend, so * both sides have to agree on where a week starts. */ /** Monday, at midnight local time */ export function startOfWeek(date: Date): Date { const start = new Date(date) start.setHours(0, 0, 0, 0) start.setDate(start.getDate() - ((start.getDay() + 6) % 7)) return start } export function addDays(date: Date, days: number): Date { const next = new Date(date) next.setDate(next.getDate() + days) return next }