From 9b501d03e9b60ecb1d56e3862db7a7bd3c8e3fb7 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Sat, 9 Sep 2023 09:38:16 +0000 Subject: [PATCH 1/4] update date range parser and date picker --- src/components/metrics/DatePickerForm.js | 6 +++--- src/lib/date.ts | 12 +++--------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/components/metrics/DatePickerForm.js b/src/components/metrics/DatePickerForm.js index fa45b64a..9eb3c52e 100644 --- a/src/components/metrics/DatePickerForm.js +++ b/src/components/metrics/DatePickerForm.js @@ -1,6 +1,6 @@ import { useState } from 'react'; import { Button, ButtonGroup, Calendar } from 'react-basics'; -import { isAfter, isBefore, isSameDay } from 'date-fns'; +import { isAfter, isBefore, isSameDay, startOfDay, endOfDay } from 'date-fns'; import useLocale from 'components/hooks/useLocale'; import { getDateLocale } from 'lib/lang'; import { FILTER_DAY, FILTER_RANGE } from 'lib/constants'; @@ -31,9 +31,9 @@ export function DatePickerForm({ const handleSave = () => { if (selected === FILTER_DAY) { - onChange(`range:${singleDate.getTime()}:${singleDate.getTime()}`); + onChange(`range:${startOfDay(singleDate).getTime()}:${endOfDay(singleDate).getTime()}`); } else { - onChange(`range:${startDate.getTime()}:${endDate.getTime()}`); + onChange(`range:${startOfDay(startDate).getTime()}:${endOfDay(endDate).getTime()}`); } }; diff --git a/src/lib/date.ts b/src/lib/date.ts index 14f0e13c..bfbfc0b9 100644 --- a/src/lib/date.ts +++ b/src/lib/date.ts @@ -78,7 +78,9 @@ export function parseDateRange(value, locale = 'en-US') { const endDate = new Date(+endTime); return { - ...getDateRangeValues(startDate, endDate), + startDate, + endDate, + unit: getMinimumUnit(startDate, endDate), value, }; } @@ -255,14 +257,6 @@ export function getMinimumUnit(startDate, endDate) { return 'year'; } -export function getDateRangeValues(startDate, endDate) { - return { - startDate: startOfDay(startDate), - endDate: endOfDay(endDate), - unit: getMinimumUnit(startDate, endDate), - }; -} - export function getDateFromString(str) { const [ymd, hms] = str.split(' '); const [year, month, day] = ymd.split('-'); From eec871dc4aff6a67e8fda4a757a856b179d329c7 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Sat, 9 Sep 2023 09:51:58 +0000 Subject: [PATCH 2/4] use available dateLocale --- src/components/input/MonthSelect.js | 7 +++---- src/components/metrics/DatePickerForm.js | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/components/input/MonthSelect.js b/src/components/input/MonthSelect.js index fb1bf535..312c6854 100644 --- a/src/components/input/MonthSelect.js +++ b/src/components/input/MonthSelect.js @@ -12,11 +12,10 @@ import { startOfMonth, endOfMonth } from 'date-fns'; import Icons from 'components/icons'; import { useLocale } from 'components/hooks'; import { formatDate } from 'lib/date'; -import { getDateLocale } from 'lib/lang'; import styles from './MonthSelect.module.css'; export function MonthSelect({ date = new Date(), onChange }) { - const { locale } = useLocale(); + const { locale, dateLocale } = useLocale(); const month = formatDate(date, 'MMMM', locale); const year = date.getFullYear(); const ref = useRef(); @@ -40,7 +39,7 @@ export function MonthSelect({ date = new Date(), onChange }) { {close => ( )} @@ -57,7 +56,7 @@ export function MonthSelect({ date = new Date(), onChange }) { {close => ( )} diff --git a/src/components/metrics/DatePickerForm.js b/src/components/metrics/DatePickerForm.js index 9eb3c52e..2dcca77a 100644 --- a/src/components/metrics/DatePickerForm.js +++ b/src/components/metrics/DatePickerForm.js @@ -2,7 +2,6 @@ import { useState } from 'react'; import { Button, ButtonGroup, Calendar } from 'react-basics'; import { isAfter, isBefore, isSameDay, startOfDay, endOfDay } from 'date-fns'; import useLocale from 'components/hooks/useLocale'; -import { getDateLocale } from 'lib/lang'; import { FILTER_DAY, FILTER_RANGE } from 'lib/constants'; import useMessages from 'components/hooks/useMessages'; import styles from './DatePickerForm.module.css'; @@ -21,7 +20,7 @@ export function DatePickerForm({ const [singleDate, setSingleDate] = useState(defaultStartDate); const [startDate, setStartDate] = useState(defaultStartDate); const [endDate, setEndDate] = useState(defaultEndDate); - const { locale } = useLocale(); + const { dateLocale } = useLocale(); const { formatMessage, labels } = useMessages(); const disabled = @@ -60,14 +59,14 @@ export function DatePickerForm({ date={startDate} minDate={minDate} maxDate={endDate} - locale={getDateLocale(locale)} + locale={dateLocale} onChange={setStartDate} /> From d457e6ea16f8861a8e8ff1ccc9848dbc88137bdd Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Sat, 9 Sep 2023 09:53:22 +0000 Subject: [PATCH 3/4] localize single day calendar in date picker --- src/components/metrics/DatePickerForm.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/metrics/DatePickerForm.js b/src/components/metrics/DatePickerForm.js index 2dcca77a..5e1906c3 100644 --- a/src/components/metrics/DatePickerForm.js +++ b/src/components/metrics/DatePickerForm.js @@ -50,6 +50,7 @@ export function DatePickerForm({ date={singleDate} minDate={minDate} maxDate={maxDate} + locale={dateLocale} onChange={setSingleDate} /> )} From e73865b880a4f4d502f2dcd44c0cf935ce6937f3 Mon Sep 17 00:00:00 2001 From: AkashRajpurohit Date: Sun, 17 Sep 2023 19:34:35 +0530 Subject: [PATCH 4/4] fix: :bug: gulp error so that error in sending data does not affect the action triggering it --- src/tracker/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tracker/index.js b/src/tracker/index.js index 1686df42..491eef7d 100644 --- a/src/tracker/index.js +++ b/src/tracker/index.js @@ -187,7 +187,8 @@ headers, }) .then(res => res.text()) - .then(text => (cache = text)); + .then(text => (cache = text)) + .catch(() => {}); // no-op, gulp error }; const track = (obj, data) => {