Fix page change effect being rerun after changes on views (#12869)

`useDefaultHomePagePath` was rerendered each time a view was changed, so
the PageChangeEffect reran every time a view was updated, but we only
want this effect to run on page change.
This commit is contained in:
Raphaël Bosi
2025-06-25 15:09:00 +02:00
committed by GitHub
parent 0f106ab8e0
commit 6450e11f1e
4 changed files with 78 additions and 39 deletions

View File

@ -6,6 +6,7 @@ import { useObjectMetadataItems } from '@/object-metadata/hooks/useObjectMetadat
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords';
import { findAllViewsOperationSignatureFactory } from '@/prefetch/graphql/operation-signatures/factories/findAllViewsOperationSignatureFactory';
import { arePrefetchViewsLoadedState } from '@/prefetch/states/arePrefetchViewsLoaded';
import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState';
import { isPersistingViewFieldsState } from '@/views/states/isPersistingViewFieldsState';
import { View } from '@/views/types/View';
@ -45,6 +46,7 @@ export const PrefetchRunViewQueryEffect = () => {
if (!isDeeplyEqual(existingViews, views)) {
set(prefetchViewsState, views);
set(arePrefetchViewsLoadedState, true);
}
},
[],

View File

@ -0,0 +1,6 @@
import { createState } from 'twenty-ui/utilities';
export const arePrefetchViewsLoadedState = createState<boolean>({
key: 'arePrefetchViewsLoadedState',
defaultValue: false,
});