diff --git a/src/components/input/MonthSelect.js b/src/components/input/MonthSelect.js index fb1bf53540..312c6854ac 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 fa45b64ac1..5e1906c3c5 100644 --- a/src/components/metrics/DatePickerForm.js +++ b/src/components/metrics/DatePickerForm.js @@ -1,8 +1,7 @@ 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'; 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 = @@ -31,9 +30,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()}`); } }; @@ -51,6 +50,7 @@ export function DatePickerForm({ date={singleDate} minDate={minDate} maxDate={maxDate} + locale={dateLocale} onChange={setSingleDate} /> )} @@ -60,14 +60,14 @@ export function DatePickerForm({ date={startDate} minDate={minDate} maxDate={endDate} - locale={getDateLocale(locale)} + locale={dateLocale} onChange={setStartDate} /> diff --git a/src/lib/date.ts b/src/lib/date.ts index 14f0e13ced..bfbfc0b913 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('-'); diff --git a/src/tracker/index.js b/src/tracker/index.js index 1686df4296..491eef7daa 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) => {