From c585c83dbc0f423abd28ed5435d00d9691d6a2f7 Mon Sep 17 00:00:00 2001 From: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com> Date: Thu, 20 Nov 2025 20:45:03 +0530 Subject: [PATCH] fix: (backport) filters not persisting in response page (#6863) --- .../responses/components/ResponsePage.tsx | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponsePage.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponsePage.tsx index 3529d4dad3..c82f365a61 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponsePage.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponsePage.tsx @@ -96,14 +96,21 @@ export const ResponsePage = ({ } }, [searchParams, resetState]); + // Only fetch if filters are applied (not on initial mount with no filters) + const hasFilters = + selectedFilter?.responseStatus !== "all" || + (selectedFilter?.filter && selectedFilter.filter.length > 0) || + (dateRange.from && dateRange.to); + useEffect(() => { const fetchFilteredResponses = async () => { try { // skip call for initial mount - if (page === null) { + if (page === null && !hasFilters) { setPage(1); return; } + setPage(1); setIsFetchingFirstPage(true); let responses: TResponseWithQuotas[] = []; @@ -126,15 +133,7 @@ export const ResponsePage = ({ setIsFetchingFirstPage(false); } }; - - // Only fetch if filters are applied (not on initial mount with no filters) - const hasFilters = - (selectedFilter && Object.keys(selectedFilter).length > 0) || - (dateRange && (dateRange.from || dateRange.to)); - - if (hasFilters) { - fetchFilteredResponses(); - } + fetchFilteredResponses(); }, [filters, responsesPerPage, selectedFilter, dateRange, surveyId]); return (