From 08d8f0b651adc78d5aa445c2ff34ce616472cde2 Mon Sep 17 00:00:00 2001 From: Kartik sharma Date: Wed, 9 Jul 2025 13:09:44 +0530 Subject: [PATCH] In the Image Gallery, the filter drawer's date picker should default to the last 7 days (today minus 7 days). --- .../Gallary/DateRangePickerNoDefault.jsx | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/pages/Gallary/DateRangePickerNoDefault.jsx b/src/pages/Gallary/DateRangePickerNoDefault.jsx index 6c793b86..dd364daf 100644 --- a/src/pages/Gallary/DateRangePickerNoDefault.jsx +++ b/src/pages/Gallary/DateRangePickerNoDefault.jsx @@ -8,6 +8,15 @@ const DateRangePickerNoDefault = ({ const inputRef = useRef(null); useEffect(() => { + const today = new Date(); + const sevenDaysAgo = new Date(); + sevenDaysAgo.setDate(today.getDate() - 7); + + const formatDate = (date) => date.toISOString().split('T')[0]; + + const defaultStartDate = formatDate(sevenDaysAgo); + const defaultEndDate = formatDate(today); + const fp = flatpickr(inputRef.current, { mode: "range", dateFormat: "Y-m-d", @@ -24,7 +33,10 @@ const DateRangePickerNoDefault = ({ } }, onReady: (selectedDates, dateStr, instance) => { - if (startDate && endDate) { + if (!startDate && !endDate) { + instance.setDate([defaultStartDate, defaultEndDate], true); + onRangeChange?.({ startDate: defaultStartDate, endDate: defaultEndDate }); + } else if (startDate && endDate) { instance.setDate([startDate, endDate], true); } }, @@ -32,8 +44,12 @@ const DateRangePickerNoDefault = ({ if (startDate && endDate) { fp.setDate([startDate, endDate], false); - } else if (!startDate && !endDate) { + } else if (!startDate && !endDate && fp.selectedDates.length > 0) { fp.clear(); + onRangeChange?.({ startDate: defaultStartDate, endDate: defaultEndDate }); + } else if (!startDate && !endDate && fp.selectedDates.length === 0) { + fp.setDate([defaultStartDate, defaultEndDate], false); + onRangeChange?.({ startDate: defaultStartDate, endDate: defaultEndDate }); } return () => { @@ -52,4 +68,4 @@ const DateRangePickerNoDefault = ({ ); }; -export default DateRangePickerNoDefault; +export default DateRangePickerNoDefault; \ No newline at end of file