Seed core views in dev + fixes (#14071)

Seed core views in dev

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Raphaël Bosi
2025-08-26 13:05:20 +02:00
committed by GitHub
parent ab4fd6a182
commit 048455bbb6
13 changed files with 151 additions and 38 deletions
@@ -8,16 +8,25 @@ import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState';
import { getObjectPermissionsFromMapByObjectMetadataId } from '@/settings/roles/role-permissions/objects-permissions/utils/getObjectPermissionsFromMapByObjectMetadataId';
import { AppPath } from '@/types/AppPath';
import { SettingsPath } from '@/types/SettingsPath';
import { coreViewsState } from '@/views/states/coreViewState';
import { convertCoreViewToView } from '@/views/utils/convertCoreViewToView';
import { useFeatureFlagsMap } from '@/workspace/hooks/useFeatureFlagsMap';
import isEmpty from 'lodash.isempty';
import { useCallback, useMemo } from 'react';
import { useRecoilCallback, useRecoilValue } from 'recoil';
import { isDefined } from 'twenty-shared/utils';
import { FeatureFlagKey } from '~/generated/graphql';
import { getAppPath } from '~/utils/navigation/getAppPath';
export const useDefaultHomePagePath = () => {
const currentUser = useRecoilValue(currentUserState);
const { objectPermissionsByObjectMetadataId } = useObjectPermissions();
const featureFlagsMap = useFeatureFlagsMap();
const isCoreViewEnabled =
featureFlagsMap[FeatureFlagKey.IS_CORE_VIEW_ENABLED];
const {
activeNonSystemObjectMetadataItems,
alphaSortedActiveNonSystemObjectMetadataItems,
@@ -54,14 +63,19 @@ export const useDefaultHomePagePath = () => {
return undefined;
}
const views = snapshot.getLoadable(prefetchViewsState).getValue();
const views = isCoreViewEnabled
? snapshot
.getLoadable(coreViewsState)
.getValue()
.map(convertCoreViewToView)
: snapshot.getLoadable(prefetchViewsState).getValue();
return views.find(
(view) => view.objectMetadataId === objectMetadataItemId,
);
};
},
[arePrefetchViewsLoaded],
[arePrefetchViewsLoaded, isCoreViewEnabled],
);
const firstObjectPathInfo = useMemo<ObjectPathInfo | null>(() => {