From 09a161d04a8b0af7747744451df2a6b2266c0b13 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 22 Mar 2024 14:35:41 -0700 Subject: [PATCH] Added more date filter options. --- src/components/input/DateFilter.tsx | 10 +++++++++- src/components/messages.ts | 1 + src/lib/date.ts | 4 ++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/components/input/DateFilter.tsx b/src/components/input/DateFilter.tsx index f025da97..35348016 100644 --- a/src/components/input/DateFilter.tsx +++ b/src/components/input/DateFilter.tsx @@ -59,7 +59,15 @@ export function DateFilter({ label: formatMessage(labels.lastDays, { x: 90 }), value: '90day', }, - { label: formatMessage(labels.thisYear), value: '0year' }, + { label: formatMessage(labels.thisYear), value: '0year', divider: true }, + { + label: formatMessage(labels.lastMonths, { x: 6 }), + value: '6month', + }, + { + label: formatMessage(labels.lastMonths, { x: 12 }), + value: '12month', + }, showAllTime && { label: formatMessage(labels.allTime), value: 'all', diff --git a/src/components/messages.ts b/src/components/messages.ts index 9f2deb84..4c5f5b86 100644 --- a/src/components/messages.ts +++ b/src/components/messages.ts @@ -110,6 +110,7 @@ export const labels = defineMessages({ yesterday: { id: 'label.yesterday', defaultMessage: 'Yesterday' }, thisWeek: { id: 'label.this-week', defaultMessage: 'This week' }, lastDays: { id: 'label.last-days', defaultMessage: 'Last {x} days' }, + lastMonths: { id: 'label.last-months', defaultMessage: 'Last {x} months' }, thisMonth: { id: 'label.this-month', defaultMessage: 'This month' }, thisYear: { id: 'label.this-year', defaultMessage: 'This year' }, allTime: { id: 'label.all-time', defaultMessage: 'All time' }, diff --git a/src/lib/date.ts b/src/lib/date.ts index 19cd3d48..6348e04b 100644 --- a/src/lib/date.ts +++ b/src/lib/date.ts @@ -182,8 +182,8 @@ export function parseDateRange(value: string | object, locale = 'en-US'): DateRa case 'month': return { startDate: subMonths(startOfMonth(now), num), - endDate: subMonths(endOfMonth(now), num), - unit: 'day', + endDate: subMonths(endOfMonth(now), num ? 1 : 0), + unit: num ? 'month' : 'day', offset: 0, num: num || 1, value,