Calendar: Fix showing past events last not working on Sunday Closes #1379

This commit is contained in:
Kalle 2023-05-28 16:05:40 +03:00
parent 7342dd1667
commit f23446659a
2 changed files with 11 additions and 3 deletions

View File

@ -25,6 +25,7 @@ import {
databaseTimestampToDate,
dateToThisWeeksMonday,
dateToWeekNumber,
dayToWeekStartsAtMondayDay,
getWeekStartsAtMondayDay,
weekNumberToDate,
} from "~/utils/dates";
@ -344,7 +345,9 @@ function EventsList({
const eventsGrouped = eventsGroupedByDay(events);
if (sortPastEventsLast) {
eventsGrouped.sort(pastEventsLast(data.currentDay));
eventsGrouped.sort(
pastEventsLast(dayToWeekStartsAtMondayDay(data.currentDay))
);
}
let dividerRendered = false;
@ -354,7 +357,8 @@ function EventsList({
const renderDivider =
sortPastEventsLast &&
!dividerRendered &&
getWeekStartsAtMondayDay(daysDate) < data.currentDay;
getWeekStartsAtMondayDay(daysDate) <
dayToWeekStartsAtMondayDay(data.currentDay);
if (renderDivider) {
dividerRendered = true;
}

View File

@ -29,7 +29,11 @@ export function dateToThisWeeksMonday(date: Date) {
export function getWeekStartsAtMondayDay(date: Date) {
const currentDay = date.getDay();
return currentDay === 0 ? 7 : currentDay;
return dayToWeekStartsAtMondayDay(currentDay);
}
export function dayToWeekStartsAtMondayDay(day: number) {
return day === 0 ? 7 : day;
}
// https://stackoverflow.com/a/71336659