From d4be35b44d9afb929562ffe8a378d0fb3c8b5652 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Sat, 20 Sep 2025 14:25:33 +0530 Subject: [PATCH] Changes in Filter Date Range picker. --- .../ImageGallery/ImageGalleryFilters.jsx | 34 ++++++++----------- src/components/common/DateRangePicker.jsx | 2 ++ src/utils/appUtils.js | 11 +++--- 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/src/components/ImageGallery/ImageGalleryFilters.jsx b/src/components/ImageGallery/ImageGalleryFilters.jsx index f6147eb3..3e541012 100644 --- a/src/components/ImageGallery/ImageGalleryFilters.jsx +++ b/src/components/ImageGallery/ImageGalleryFilters.jsx @@ -1,8 +1,9 @@ import React, { useState, useCallback, useEffect } from "react"; import { FormProvider, useForm } from "react-hook-form"; import moment from "moment"; -import DateRangePicker from "../../components/common/DateRangePicker"; +import DateRangePicker, { DateRangePicker1 } from "../../components/common/DateRangePicker"; import SelectMultiple from "../../components/common/SelectMultiple"; +import { localToUtc } from "../../utils/appUtils"; const defaultGalleryFilterValues = { buildingIds: [], @@ -58,27 +59,21 @@ const ImageGalleryFilters = ({ [setValue] ); - // Submit → Apply filters - const onSubmit = useCallback( - (formData) => { - const payload = { + const onSubmit =(formData)=>{ + const inputStartDate = localToUtc(formData.startDate) + const inputEndDate = localToUtc(formData.endDate) + const payload = { ...formData, - startDate: formData.startDate - ? moment(formData.startDate).utc().toISOString() - : null, - endDate: formData.endDate - ? moment(formData.endDate).utc().toISOString() - : null, + startDate: inputStartDate, + endDate: inputEndDate, }; - onApplyFilters(payload); - }, - [onApplyFilters] - ); + onApplyFilters(payload); + } // Clear all filters const onClear = useCallback(() => { reset(defaultGalleryFilterValues); - setResetKey((prev) => prev + 1); // reset DateRangePicker + setResetKey((prev) => prev + 1); onApplyFilters(defaultGalleryFilterValues); }, [onApplyFilters, reset]); @@ -86,13 +81,12 @@ const ImageGalleryFilters = ({
- {/* Date Range */}
-
diff --git a/src/components/common/DateRangePicker.jsx b/src/components/common/DateRangePicker.jsx index c349e25a..5973d4f4 100644 --- a/src/components/common/DateRangePicker.jsx +++ b/src/components/common/DateRangePicker.jsx @@ -67,6 +67,8 @@ const DateRangePicker = ({ style={{ right: "22px", bottom: "-8px" }} >
+ + ); }; diff --git a/src/utils/appUtils.js b/src/utils/appUtils.js index 21f7fa5a..8ee3b42e 100644 --- a/src/utils/appUtils.js +++ b/src/utils/appUtils.js @@ -72,8 +72,11 @@ export const normalizeAllowedContentTypes = (allowedContentType) => { export function localToUtc(localDateString) { - if (!localDateString || localDateString.trim() === "") return null; // return null instead of undefined - const date = new Date(localDateString); - if (isNaN(date.getTime())) return null; // invalid date check + if (!localDateString || localDateString.trim() === "") return null; + + const [day, month, year] = localDateString.split("-").map(Number); + if (!day || !month || !year) return null; + + const date = new Date(Date.UTC(year, month - 1, day)); return date.toISOString(); -} \ No newline at end of file +}