From caff652df35a9f0345d0a23d19c9459a715fae12 Mon Sep 17 00:00:00 2001 From: Lucas Bordeau Date: Thu, 5 Sep 2024 10:23:42 +0200 Subject: [PATCH] Fixed view reset on view change (#6897) Fixes #6833 The view states for unsaved changes were not reseted on view change. The fix was to just add a call to the existing resetCurrentView when the viewId changes in the related effect. --- .../modules/views/components/QueryParamsViewIdEffect.tsx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/twenty-front/src/modules/views/components/QueryParamsViewIdEffect.tsx b/packages/twenty-front/src/modules/views/components/QueryParamsViewIdEffect.tsx index ddd25463b..74d516a7f 100644 --- a/packages/twenty-front/src/modules/views/components/QueryParamsViewIdEffect.tsx +++ b/packages/twenty-front/src/modules/views/components/QueryParamsViewIdEffect.tsx @@ -4,6 +4,7 @@ import { useFilteredObjectMetadataItems } from '@/object-metadata/hooks/useFilte import { useViewFromQueryParams } from '@/views/hooks/internal/useViewFromQueryParams'; import { useViewStates } from '@/views/hooks/internal/useViewStates'; import { useGetCurrentView } from '@/views/hooks/useGetCurrentView'; +import { useResetCurrentView } from '@/views/hooks/useResetCurrentView'; import { isUndefined } from '@sniptt/guards'; import { useEffect } from 'react'; import { useRecoilState } from 'recoil'; @@ -33,6 +34,14 @@ export const QueryParamsViewIdEffect = () => { lastVisitedObjectMetadataItemId, ); + const { resetCurrentView } = useResetCurrentView(); + + useEffect(() => { + if (isDefined(currentViewId)) { + resetCurrentView(); + } + }, [resetCurrentView, currentViewId]); + useEffect(() => { const indexView = viewsOnCurrentObject.find((view) => view.key === 'INDEX');