Browse Source

fix this_month, prev_month and next_month date ranges getting funky near the month change.

master
Gisle Aune 2 years ago
parent
commit
7276b026f5
  1. 4
      frontend/src/lib/utils/date.ts
  2. 6
      frontend/src/lib/utils/timeinterval.ts

4
frontend/src/lib/utils/date.ts

@ -51,8 +51,8 @@ export function formatWeekdayDate(time: Date | string | number): string {
return `${time.getFullYear()}-${pad(time.getMonth()+1)}-${pad(time.getDate())} (${weekDay[time.getDay()]})`;
}
export function startOfMonth(now: Date): Date {
return new Date(now.getFullYear(), now.getMonth(), 1);
export function startOfMonth(now: Date, offset = 0): Date {
return new Date(now.getFullYear(), now.getMonth() + offset);
}
export function startOfYear(now: Date): Date {

6
frontend/src/lib/utils/timeinterval.ts

@ -43,11 +43,11 @@ export default function parseInterval(s: string, date: Date): TimeInterval<Date>
case "last_week":
return {display: "weeks", min: startOfWeek(addDays(date, -7)), max: startOfWeek(date)}
case "next_month":
return {display: "month", min: startOfMonth(addMonths(date, 1)), max: startOfMonth(addMonths(date, 2))}
return {display: "month", min: startOfMonth(date, 1), max: startOfMonth(date, 2)}
case "this_month":
return {display: "month", min: startOfMonth(date), max: startOfMonth(addMonths(date, 1))}
return {display: "month", min: startOfMonth(date, 0), max: startOfMonth(date, 1)}
case "last_month":
return {display: "month", min: startOfMonth(addMonths(date, -1)), max: startOfMonth(date)}
return {display: "month", min: startOfMonth(date, -1), max: startOfMonth(date, 0)}
case "next_year":
return {display: "year", min: startOfYear(addYears(date, 1)), max: startOfYear(addYears(date, 2))}
case "this_year":

Loading…
Cancel
Save