Merge pull request #3038 from Safelite/feature/fix-schedule-weeks-loop

Check to see if month end is before week, not just during.
This commit is contained in:
Mark Harris 2026-01-29 15:56:51 -05:00 committed by GitHub
commit 937ab97199
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -324,9 +324,9 @@ export default {
let preSelectedDateMonthEnd = this.getMonthEnd( let preSelectedDateMonthEnd = this.getMonthEnd(
preSelectedDate.replace("-mobile", "") preSelectedDate.replace("-mobile", "")
); );
let weekIncludesPreSelectedMonthEnd = false; let monthEndsByThisWeek = false;
let i = 0; let i = 0;
while (!weekIncludesPreSelectedMonthEnd) { while (!monthEndsByThisWeek && i < 52) {
if (i > 0) { if (i > 0) {
weekStartDate = this.getNextWeekSunday(weekEndDate); weekStartDate = this.getNextWeekSunday(weekEndDate);
weekEndDate = this.getWeekEndDate(weekStartDate); weekEndDate = this.getWeekEndDate(weekStartDate);
@ -338,7 +338,12 @@ export default {
preSelectedDateMonthEnd === weekEndDate preSelectedDateMonthEnd === weekEndDate
) { ) {
weekEndDate = preSelectedDateMonthEnd; weekEndDate = preSelectedDateMonthEnd;
weekIncludesPreSelectedMonthEnd = true; monthEndsByThisWeek = true;
} else if (preSelectedDateMonthEnd < weekEndDate) {
// Additional case: if month ends before this week (but not necessarily during it),
// still cut the loop here, but don't truncate the week.
monthEndsByThisWeek = true;
} }
} }
weeks.push({ weeks.push({