numberOfDaysSelected has minimum of 1

This commit is contained in:
Bernt Christian Egeland 2023-01-22 11:25:03 +01:00
parent 49678168dc
commit 4888a4b25b

View File

@ -19,11 +19,11 @@ const TimePicker = ({ dateRange, onChange }) => {
*/ */
const before = useMemo(() => { const before = useMemo(() => {
return dateRange.before ? new Date(dateRange.before) : new Date(new Date().setHours(24, 0, 0, 0)); return dateRange.before ? new Date(dateRange.before) : new Date(new Date().setHours(24, 0, 0, 0));
}, [dateRange.before]); }, [dateRange]);
const after = useMemo(() => { const after = useMemo(() => {
return dateRange.after ? new Date(dateRange.after) : new Date(new Date().setHours(0, 0, 0, 0)); return dateRange.after ? new Date(dateRange.after) : new Date(new Date().setHours(0, 0, 0, 0));
}, [dateRange.after]); }, [dateRange]);
/** /**
* numberOfDaysSelected is a set that holds the number of days selected in the dateRange. * numberOfDaysSelected is a set that holds the number of days selected in the dateRange.
@ -31,7 +31,7 @@ const TimePicker = ({ dateRange, onChange }) => {
* If the before date's hour is 0, it skips it. * If the before date's hour is 0, it skips it.
*/ */
const numberOfDaysSelected = useMemo(() => { const numberOfDaysSelected = useMemo(() => {
return new Set([...Array(before.getDate() - after.getDate() + 1)].map((_, i) => after.getDate() + i)); return new Set([...Array(Math.max(1, before.getDate() - after.getDate() + 1))].map((_, i) => after.getDate() + i));
}, [before, after]); }, [before, after]);
if (before.getHours() === 0) numberOfDaysSelected.delete(before.getDate()); if (before.getHours() === 0) numberOfDaysSelected.delete(before.getDate());