diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/components/RecordActionMenuEntriesSetter.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-actions/components/RecordActionMenuEntriesSetter.tsx
index 3e83e18e9..9ed6235c0 100644
--- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/components/RecordActionMenuEntriesSetter.tsx
+++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/components/RecordActionMenuEntriesSetter.tsx
@@ -2,17 +2,28 @@ import { RegisterRecordActionEffect } from '@/action-menu/actions/record-actions
import { WorkflowRunRecordActionMenuEntrySetterEffect } from '@/action-menu/actions/record-actions/workflow-run-record-actions/components/WorkflowRunRecordActionMenuEntrySetter';
import { getActionConfig } from '@/action-menu/actions/utils/getActionConfig';
import { getActionViewType } from '@/action-menu/actions/utils/getActionViewType';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { COMMAND_MENU_COMPONENT_INSTANCE_ID } from '@/command-menu/constants/CommandMenuComponentInstanceId';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreCurrentViewTypeComponentState } from '@/context-store/states/contextStoreCurrentViewTypeComponentState';
import { contextStoreTargetedRecordsRuleComponentState } from '@/context-store/states/contextStoreTargetedRecordsRuleComponentState';
+import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
+import { useRecoilValue } from 'recoil';
import { isDefined } from 'twenty-shared';
import { FeatureFlagKey } from '~/generated/graphql';
export const RecordActionMenuEntriesSetter = () => {
- const contextStoreCurrentObjectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
+ COMMAND_MENU_COMPONENT_INSTANCE_ID,
+ );
+
+ const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
+
+ const objectMetadataItem = objectMetadataItems.find(
+ (objectMetadataItem) =>
+ objectMetadataItem.id === contextStoreCurrentObjectMetadataItemId,
);
const contextStoreTargetedRecordsRule = useRecoilComponentValueV2(
@@ -27,7 +38,7 @@ export const RecordActionMenuEntriesSetter = () => {
FeatureFlagKey.IsWorkflowEnabled,
);
- if (!isDefined(contextStoreCurrentObjectMetadataItem)) {
+ if (!isDefined(objectMetadataItem)) {
return null;
}
@@ -36,7 +47,7 @@ export const RecordActionMenuEntriesSetter = () => {
contextStoreTargetedRecordsRule,
);
- const actionConfig = getActionConfig(contextStoreCurrentObjectMetadataItem);
+ const actionConfig = getActionConfig(objectMetadataItem);
const actionsToRegister = isDefined(viewType)
? Object.values(actionConfig ?? {}).filter((action) =>
@@ -50,7 +61,7 @@ export const RecordActionMenuEntriesSetter = () => {
))}
@@ -58,7 +69,7 @@ export const RecordActionMenuEntriesSetter = () => {
contextStoreTargetedRecordsRule?.mode === 'selection' &&
contextStoreTargetedRecordsRule?.selectedRecordIds.length === 1 && (
)}
>
diff --git a/packages/twenty-front/src/modules/action-menu/components/RecordIndexActionMenu.tsx b/packages/twenty-front/src/modules/action-menu/components/RecordIndexActionMenu.tsx
index ee57a95c9..5572a6b53 100644
--- a/packages/twenty-front/src/modules/action-menu/components/RecordIndexActionMenu.tsx
+++ b/packages/twenty-front/src/modules/action-menu/components/RecordIndexActionMenu.tsx
@@ -6,7 +6,7 @@ import { ActionMenuConfirmationModals } from '@/action-menu/components/ActionMen
import { RecordIndexActionMenuButtons } from '@/action-menu/components/RecordIndexActionMenuButtons';
import { RecordIndexActionMenuDropdown } from '@/action-menu/components/RecordIndexActionMenuDropdown';
import { ActionMenuContext } from '@/action-menu/contexts/ActionMenuContext';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { isRecordIndexLoadMoreLockedComponentState } from '@/object-record/record-index/states/isRecordIndexLoadMoreLockedComponentState';
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2';
@@ -15,8 +15,8 @@ import { useIsMobile } from 'twenty-ui';
import { FeatureFlagKey } from '~/generated/graphql';
export const RecordIndexActionMenu = ({ indexId }: { indexId: string }) => {
- const contextStoreCurrentObjectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
);
const isWorkflowEnabled = useIsFeatureEnabled(
@@ -32,7 +32,7 @@ export const RecordIndexActionMenu = ({ indexId }: { indexId: string }) => {
return (
<>
- {contextStoreCurrentObjectMetadataItem && (
+ {contextStoreCurrentObjectMetadataItemId && (
{
- const contextStoreCurrentObjectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
);
const isWorkflowEnabled = useIsFeatureEnabled(
@@ -20,7 +20,7 @@ export const RecordShowActionMenu = () => {
return (
<>
- {contextStoreCurrentObjectMetadataItem && (
+ {contextStoreCurrentObjectMetadataItemId && (
{
- const contextStoreCurrentObjectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
);
const contextStoreTargetedRecordsRule = useRecoilComponentValueV2(
@@ -30,7 +30,7 @@ export const RecordShowRightDrawerActionMenu = () => {
return (
<>
- {contextStoreCurrentObjectMetadataItem && (
+ {contextStoreCurrentObjectMetadataItemId && (
{
commandMenuSearch,
});
- const previousContextStoreCurrentObjectMetadataItem =
+ const previousContextStoreCurrentObjectMetadataItemId =
useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ contextStoreCurrentObjectMetadataItemIdComponentState,
'command-menu-previous',
);
- const currentObjectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
- );
+ const { objectMetadataItem: currentObjectMetadataItem } =
+ useContextStoreObjectMetadataItemOrThrow();
const commandGroups: CommandGroupConfig[] = [
{
@@ -74,7 +74,7 @@ export const CommandMenu = () => {
const selectableItemIds = selectableItems.map((item) => item.id);
- if (isDefined(previousContextStoreCurrentObjectMetadataItem)) {
+ if (isDefined(previousContextStoreCurrentObjectMetadataItemId)) {
selectableItemIds.unshift(RESET_CONTEXT_TO_SELECTION);
}
@@ -84,7 +84,7 @@ export const CommandMenu = () => {
selectableItemIds={selectableItemIds}
noResults={noResults}
>
- {isDefined(previousContextStoreCurrentObjectMetadataItem) && (
+ {isDefined(previousContextStoreCurrentObjectMetadataItemId) && (
diff --git a/packages/twenty-front/src/modules/command-menu/components/CommandMenuContainer.tsx b/packages/twenty-front/src/modules/command-menu/components/CommandMenuContainer.tsx
index c94309276..af14c887d 100644
--- a/packages/twenty-front/src/modules/command-menu/components/CommandMenuContainer.tsx
+++ b/packages/twenty-front/src/modules/command-menu/components/CommandMenuContainer.tsx
@@ -13,9 +13,10 @@ import { useCommandMenuHotKeys } from '@/command-menu/hooks/useCommandMenuHotKey
import { commandMenuSearchState } from '@/command-menu/states/commandMenuSearchState';
import { isCommandMenuOpenedState } from '@/command-menu/states/isCommandMenuOpenedState';
import { CommandMenuAnimationVariant } from '@/command-menu/types/CommandMenuAnimationVariant';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { ContextStoreComponentInstanceContext } from '@/context-store/states/contexts/ContextStoreComponentInstanceContext';
+import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { RecordFilterGroupsComponentInstanceContext } from '@/object-record/record-filter-group/states/context/RecordFilterGroupsComponentInstanceContext';
import { RecordFiltersComponentInstanceContext } from '@/object-record/record-filter/states/context/RecordFiltersComponentInstanceContext';
import { RecordSortsComponentInstanceContext } from '@/object-record/record-sort/states/context/RecordSortsComponentInstanceContext';
@@ -87,20 +88,27 @@ export const CommandMenuContainer = ({
const setCommandMenuSearch = useSetRecoilState(commandMenuSearchState);
- const contextStoreCurrentObjectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const objectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
COMMAND_MENU_COMPONENT_INSTANCE_ID,
);
+ const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
+
+ const objectMetadataItem = objectMetadataItems.find(
+ (objectMetadataItem) => objectMetadataItem.id === objectMetadataItemId,
+ );
+
const currentViewId = useRecoilComponentValueV2(
contextStoreCurrentViewIdComponentState,
COMMAND_MENU_COMPONENT_INSTANCE_ID,
);
const recordIndexId = getRecordIndexIdFromObjectNamePluralAndViewId(
- contextStoreCurrentObjectMetadataItem?.namePlural ?? '',
+ objectMetadataItem?.namePlural ?? '',
currentViewId ?? '',
);
+
return (
{
const { closeCommandMenu, goBackFromCommandMenu } = useCommandMenu();
- const contextStoreCurrentObjectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
+ COMMAND_MENU_COMPONENT_INSTANCE_ID,
);
const commandMenuPage = useRecoilValue(commandMenuPageState);
@@ -129,11 +131,11 @@ export const CommandMenuTopBar = () => {
)}
- {isDefined(contextStoreCurrentObjectMetadataItem) &&
+ {isDefined(contextStoreCurrentObjectMetadataItemId) &&
commandMenuPage !== CommandMenuPages.SearchRecords ? (
) : (
diff --git a/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx b/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
index 2f6ae8621..459a0216e 100644
--- a/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
+++ b/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
@@ -2,7 +2,7 @@ import { CommandMenuContextRecordsChip } from '@/command-menu/components/Command
import { CommandMenuItem } from '@/command-menu/components/CommandMenuItem';
import { RESET_CONTEXT_TO_SELECTION } from '@/command-menu/constants/ResetContextToSelection';
import { useResetPreviousCommandMenuContext } from '@/command-menu/hooks/useResetPreviousCommandMenuContext';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreTargetedRecordsRuleComponentState } from '@/context-store/states/contextStoreTargetedRecordsRuleComponentState';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
@@ -17,8 +17,8 @@ export const ResetContextToSelectionCommandButton = () => {
'command-menu-previous',
);
- const contextStoreCurrentObjectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
'command-menu-previous',
);
@@ -26,7 +26,7 @@ export const ResetContextToSelectionCommandButton = () => {
const objectMetadataItem = objectMetadataItems.find(
(objectMetadataItem) =>
- objectMetadataItem.id === contextStoreCurrentObjectMetadataItem?.id,
+ objectMetadataItem.id === contextStoreCurrentObjectMetadataItemId,
);
const { resetPreviousCommandMenuContext } =
diff --git a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenu.ts b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenu.ts
index 97995edb7..ec3a0dcb3 100644
--- a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenu.ts
+++ b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenu.ts
@@ -33,7 +33,7 @@ import { hasUserSelectedCommandState } from '@/command-menu/states/hasUserSelect
import { isCommandMenuClosingState } from '@/command-menu/states/isCommandMenuClosingState';
import { CommandMenuPages } from '@/command-menu/types/CommandMenuPages';
import { MAIN_CONTEXT_STORE_INSTANCE_ID } from '@/context-store/constants/MainContextStoreInstanceId';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { contextStoreCurrentViewTypeComponentState } from '@/context-store/states/contextStoreCurrentViewTypeComponentState';
import { contextStoreFiltersComponentState } from '@/context-store/states/contextStoreFiltersComponentState';
@@ -374,10 +374,10 @@ export const useCommandMenu = () => {
}
set(
- contextStoreCurrentObjectMetadataItemComponentState.atomFamily({
+ contextStoreCurrentObjectMetadataItemIdComponentState.atomFamily({
instanceId: pageComponentInstanceId,
}),
- objectMetadataItem,
+ objectMetadataItem.id,
);
set(
diff --git a/packages/twenty-front/src/modules/command-menu/hooks/useCopyContextStoreAndActionMenuStates.ts b/packages/twenty-front/src/modules/command-menu/hooks/useCopyContextStoreAndActionMenuStates.ts
index 607ed17f9..b07e0d67b 100644
--- a/packages/twenty-front/src/modules/command-menu/hooks/useCopyContextStoreAndActionMenuStates.ts
+++ b/packages/twenty-front/src/modules/command-menu/hooks/useCopyContextStoreAndActionMenuStates.ts
@@ -1,5 +1,5 @@
import { actionMenuEntriesComponentState } from '@/action-menu/states/actionMenuEntriesComponentState';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { contextStoreCurrentViewTypeComponentState } from '@/context-store/states/contextStoreCurrentViewTypeComponentState';
import { contextStoreFiltersComponentState } from '@/context-store/states/contextStoreFiltersComponentState';
@@ -17,19 +17,19 @@ export const useCopyContextStoreStates = () => {
instanceIdToCopyFrom: string;
instanceIdToCopyTo: string;
}) => {
- const contextStoreCurrentObjectMetadataItem = snapshot
+ const contextStoreCurrentObjectMetadataItemId = snapshot
.getLoadable(
- contextStoreCurrentObjectMetadataItemComponentState.atomFamily({
+ contextStoreCurrentObjectMetadataItemIdComponentState.atomFamily({
instanceId: instanceIdToCopyFrom,
}),
)
.getValue();
set(
- contextStoreCurrentObjectMetadataItemComponentState.atomFamily({
+ contextStoreCurrentObjectMetadataItemIdComponentState.atomFamily({
instanceId: instanceIdToCopyTo,
}),
- contextStoreCurrentObjectMetadataItem,
+ contextStoreCurrentObjectMetadataItemId,
);
const contextStoreTargetedRecordsRule = snapshot
diff --git a/packages/twenty-front/src/modules/command-menu/hooks/useResetContextStoreStates.ts b/packages/twenty-front/src/modules/command-menu/hooks/useResetContextStoreStates.ts
index f90a0f3e9..9efa9ff5e 100644
--- a/packages/twenty-front/src/modules/command-menu/hooks/useResetContextStoreStates.ts
+++ b/packages/twenty-front/src/modules/command-menu/hooks/useResetContextStoreStates.ts
@@ -1,5 +1,5 @@
import { actionMenuEntriesComponentState } from '@/action-menu/states/actionMenuEntriesComponentState';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { contextStoreCurrentViewTypeComponentState } from '@/context-store/states/contextStoreCurrentViewTypeComponentState';
import { contextStoreFiltersComponentState } from '@/context-store/states/contextStoreFiltersComponentState';
@@ -11,7 +11,7 @@ export const useResetContextStoreStates = () => {
const resetContextStoreStates = useRecoilCallback(({ set }) => {
return (instanceId: string) => {
set(
- contextStoreCurrentObjectMetadataItemComponentState.atomFamily({
+ contextStoreCurrentObjectMetadataItemIdComponentState.atomFamily({
instanceId,
}),
undefined,
diff --git a/packages/twenty-front/src/modules/context-store/components/MainContextStoreProviderEffect.tsx b/packages/twenty-front/src/modules/context-store/components/MainContextStoreProviderEffect.tsx
index db86e3fba..34966932d 100644
--- a/packages/twenty-front/src/modules/context-store/components/MainContextStoreProviderEffect.tsx
+++ b/packages/twenty-front/src/modules/context-store/components/MainContextStoreProviderEffect.tsx
@@ -1,5 +1,5 @@
import { MAIN_CONTEXT_STORE_INSTANCE_ID } from '@/context-store/constants/MainContextStoreInstanceId';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { contextStoreCurrentViewTypeComponentState } from '@/context-store/states/contextStoreCurrentViewTypeComponentState';
import { ContextStoreViewType } from '@/context-store/types/ContextStoreViewType';
@@ -40,10 +40,10 @@ export const MainContextStoreProviderEffect = ({
);
const [
- contextStoreCurrentObjectMetadataItem,
- setContextStoreCurrentObjectMetadataItem,
+ contextStoreCurrentObjectMetadataItemId,
+ setContextStoreCurrentObjectMetadataItemId,
] = useRecoilComponentStateV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ contextStoreCurrentObjectMetadataItemIdComponentState,
MAIN_CONTEXT_STORE_INSTANCE_ID,
);
@@ -54,8 +54,8 @@ export const MainContextStoreProviderEffect = ({
);
useEffect(() => {
- if (contextStoreCurrentObjectMetadataItem?.id !== objectMetadataItem.id) {
- setContextStoreCurrentObjectMetadataItem(objectMetadataItem);
+ if (contextStoreCurrentObjectMetadataItemId !== objectMetadataItem.id) {
+ setContextStoreCurrentObjectMetadataItemId(objectMetadataItem.id);
}
setLastVisitedViewForObjectMetadataNamePlural({
@@ -71,11 +71,11 @@ export const MainContextStoreProviderEffect = ({
setContextStoreCurrentViewId(viewId);
}
}, [
- contextStoreCurrentObjectMetadataItem,
+ contextStoreCurrentObjectMetadataItemId,
contextStoreCurrentViewId,
objectMetadataItem,
objectMetadataItem.namePlural,
- setContextStoreCurrentObjectMetadataItem,
+ setContextStoreCurrentObjectMetadataItemId,
setContextStoreCurrentViewId,
setLastVisitedObjectMetadataId,
setLastVisitedViewForObjectMetadataNamePlural,
diff --git a/packages/twenty-front/src/modules/context-store/hooks/useContextStoreObjectMetadataItemOrThrow.ts b/packages/twenty-front/src/modules/context-store/hooks/useContextStoreObjectMetadataItemOrThrow.ts
index 5e09defb6..6f49badcc 100644
--- a/packages/twenty-front/src/modules/context-store/hooks/useContextStoreObjectMetadataItemOrThrow.ts
+++ b/packages/twenty-front/src/modules/context-store/hooks/useContextStoreObjectMetadataItemOrThrow.ts
@@ -1,14 +1,19 @@
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
+import { useObjectMetadataItemById } from '@/object-metadata/hooks/useObjectMetadataItemById';
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
export const useContextStoreObjectMetadataItemOrThrow = (
contextStoreInstanceId?: string,
) => {
- const objectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const objectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
contextStoreInstanceId,
);
+ const { objectMetadataItem } = useObjectMetadataItemById({
+ objectId: objectMetadataItemId ?? '',
+ });
+
if (!objectMetadataItem) {
throw new Error('Object metadata item is not set in context store');
}
diff --git a/packages/twenty-front/src/modules/context-store/hooks/useFindManyRecordsSelectedInContextStore.ts b/packages/twenty-front/src/modules/context-store/hooks/useFindManyRecordsSelectedInContextStore.ts
index eb89af04d..02a84b96c 100644
--- a/packages/twenty-front/src/modules/context-store/hooks/useFindManyRecordsSelectedInContextStore.ts
+++ b/packages/twenty-front/src/modules/context-store/hooks/useFindManyRecordsSelectedInContextStore.ts
@@ -1,7 +1,8 @@
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreFiltersComponentState } from '@/context-store/states/contextStoreFiltersComponentState';
import { contextStoreTargetedRecordsRuleComponentState } from '@/context-store/states/contextStoreTargetedRecordsRuleComponentState';
import { computeContextStoreFilters } from '@/context-store/utils/computeContextStoreFilters';
+import { useObjectMetadataItemById } from '@/object-metadata/hooks/useObjectMetadataItemById';
import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords';
import { useFilterValueDependencies } from '@/object-record/record-filter/hooks/useFilterValueDependencies';
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
@@ -13,11 +14,15 @@ export const useFindManyRecordsSelectedInContextStore = ({
instanceId?: string;
limit?: number;
}) => {
- const objectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
instanceId,
);
+ const { objectMetadataItem } = useObjectMetadataItemById({
+ objectId: contextStoreCurrentObjectMetadataItemId ?? '',
+ });
+
const contextStoreTargetedRecordsRule = useRecoilComponentValueV2(
contextStoreTargetedRecordsRuleComponentState,
instanceId,
diff --git a/packages/twenty-front/src/modules/context-store/states/contextStoreCurrentObjectMetadataItemComponentState.ts b/packages/twenty-front/src/modules/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState.ts
similarity index 55%
rename from packages/twenty-front/src/modules/context-store/states/contextStoreCurrentObjectMetadataItemComponentState.ts
rename to packages/twenty-front/src/modules/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState.ts
index 4d9d8eb98..1528f047c 100644
--- a/packages/twenty-front/src/modules/context-store/states/contextStoreCurrentObjectMetadataItemComponentState.ts
+++ b/packages/twenty-front/src/modules/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState.ts
@@ -1,10 +1,9 @@
import { ContextStoreComponentInstanceContext } from '@/context-store/states/contexts/ContextStoreComponentInstanceContext';
-import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { createComponentStateV2 } from '@/ui/utilities/state/component-state/utils/createComponentStateV2';
-export const contextStoreCurrentObjectMetadataItemComponentState =
- createComponentStateV2({
- key: 'contextStoreCurrentObjectMetadataItemComponentState',
+export const contextStoreCurrentObjectMetadataItemIdComponentState =
+ createComponentStateV2({
+ key: 'contextStoreCurrentObjectMetadataItemIdComponentState',
defaultValue: undefined,
componentInstanceContext: ContextStoreComponentInstanceContext,
});
diff --git a/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownRecordGroupFieldsContent.tsx b/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownRecordGroupFieldsContent.tsx
index 7e2908b55..5cdfebfe0 100644
--- a/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownRecordGroupFieldsContent.tsx
+++ b/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownRecordGroupFieldsContent.tsx
@@ -24,12 +24,12 @@ import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownM
import { navigationMemorizedUrlState } from '@/ui/navigation/states/navigationMemorizedUrlState';
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
import { ViewType } from '@/views/types/ViewType';
+import { useLingui } from '@lingui/react/macro';
import { useLocation } from 'react-router-dom';
import { useSetRecoilState } from 'recoil';
import { isDefined } from 'twenty-shared';
import { FieldMetadataType } from '~/generated-metadata/graphql';
import { getSettingsPath } from '~/utils/navigation/getSettingsPath';
-import { useLingui } from '@lingui/react/macro';
export const ObjectOptionsDropdownRecordGroupFieldsContent = () => {
const { t } = useLingui();
diff --git a/packages/twenty-front/src/modules/object-record/record-group/hooks/useSetRecordGroup.ts b/packages/twenty-front/src/modules/object-record/record-group/hooks/useSetRecordGroup.ts
index 435bccf42..9cbc214d1 100644
--- a/packages/twenty-front/src/modules/object-record/record-group/hooks/useSetRecordGroup.ts
+++ b/packages/twenty-front/src/modules/object-record/record-group/hooks/useSetRecordGroup.ts
@@ -1,26 +1,37 @@
import { MAIN_CONTEXT_STORE_INSTANCE_ID } from '@/context-store/constants/MainContextStoreInstanceId';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
+import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { recordGroupDefinitionFamilyState } from '@/object-record/record-group/states/recordGroupDefinitionFamilyState';
import { recordGroupFieldMetadataComponentState } from '@/object-record/record-group/states/recordGroupFieldMetadataComponentState';
import { recordGroupIdsComponentState } from '@/object-record/record-group/states/recordGroupIdsComponentState';
import { RecordGroupDefinition } from '@/object-record/record-group/types/RecordGroupDefinition';
import { getSnapshotValue } from '@/ui/utilities/state/utils/getSnapshotValue';
import { useRecoilCallback } from 'recoil';
+import { isDefined } from 'twenty-shared';
import { isDeeplyEqual } from '~/utils/isDeeplyEqual';
export const useSetRecordGroup = () => {
return useRecoilCallback(
({ snapshot, set }) =>
(recordGroups: RecordGroupDefinition[], recordIndexId: string) => {
- const objectMetadataItem = snapshot
+ const objectMetadataItemId = snapshot
.getLoadable(
- contextStoreCurrentObjectMetadataItemComponentState.atomFamily({
+ contextStoreCurrentObjectMetadataItemIdComponentState.atomFamily({
instanceId: MAIN_CONTEXT_STORE_INSTANCE_ID,
}),
)
.getValue();
- if (!objectMetadataItem) {
+ const objectMetadataItems = snapshot
+ .getLoadable(objectMetadataItemsState)
+ .getValue();
+
+ const objectMetadataItem = objectMetadataItems.find(
+ (objectMetadataItem) =>
+ objectMetadataItem.id === objectMetadataItemId,
+ );
+
+ if (!isDefined(objectMetadataItem)) {
return;
}
diff --git a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexLoadBaseOnContextStoreEffect.tsx b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexLoadBaseOnContextStoreEffect.tsx
index 1521b2a5f..dc6ce2dfb 100644
--- a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexLoadBaseOnContextStoreEffect.tsx
+++ b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexLoadBaseOnContextStoreEffect.tsx
@@ -1,4 +1,4 @@
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { useContextStoreObjectMetadataItemOrThrow } from '@/context-store/hooks/useContextStoreObjectMetadataItemOrThrow';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { useLoadRecordIndexStates } from '@/object-record/record-index/hooks/useLoadRecordIndexStates';
import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector/prefetchViewFromViewIdFamilySelector';
@@ -23,9 +23,7 @@ export const RecordIndexLoadBaseOnContextStoreEffect = () => {
}),
);
- const objectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
- );
+ const { objectMetadataItem } = useContextStoreObjectMetadataItemOrThrow();
useEffect(() => {
if (loadedViewId === contextStoreCurrentViewId) {
diff --git a/packages/twenty-front/src/modules/sign-in-background-mock/components/SignInBackgroundMockContainer.tsx b/packages/twenty-front/src/modules/sign-in-background-mock/components/SignInBackgroundMockContainer.tsx
index 0aebb6f2b..ba8786471 100644
--- a/packages/twenty-front/src/modules/sign-in-background-mock/components/SignInBackgroundMockContainer.tsx
+++ b/packages/twenty-front/src/modules/sign-in-background-mock/components/SignInBackgroundMockContainer.tsx
@@ -2,7 +2,7 @@ import styled from '@emotion/styled';
import { ActionMenuComponentInstanceContext } from '@/action-menu/states/contexts/ActionMenuComponentInstanceContext';
import { MAIN_CONTEXT_STORE_INSTANCE_ID } from '@/context-store/constants/MainContextStoreInstanceId';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { ContextStoreComponentInstanceContext } from '@/context-store/states/contexts/ContextStoreComponentInstanceContext';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { RecordFilterGroupsComponentInstanceContext } from '@/object-record/record-filter-group/states/context/RecordFilterGroupsComponentInstanceContext';
@@ -32,11 +32,15 @@ export const SignInBackgroundMockContainer = () => {
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
- const objectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const objectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
MAIN_CONTEXT_STORE_INSTANCE_ID,
);
+ const objectMetadataItem = objectMetadataItems.find(
+ (objectMetadataItem) => objectMetadataItem.id === objectMetadataItemId,
+ );
+
return (
{
- const setContextStoreCurrentObjectMetadataItem = useSetRecoilComponentStateV2(
- contextStoreCurrentObjectMetadataItemComponentState,
- MAIN_CONTEXT_STORE_INSTANCE_ID,
- );
+ const setContextStoreCurrentObjectMetadataItemId =
+ useSetRecoilComponentStateV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
+ MAIN_CONTEXT_STORE_INSTANCE_ID,
+ );
const { setAvailableTableColumns, setOnEntityCountChange } = useRecordTable({
recordTableId,
@@ -63,7 +64,7 @@ export const SignInBackgroundMockContainerEffect = ({
recordTableId,
);
- setContextStoreCurrentObjectMetadataItem(objectMetadataItem);
+ setContextStoreCurrentObjectMetadataItemId(objectMetadataItem.id);
}, [
setViewObjectMetadataId,
setAvailableFieldDefinitions,
@@ -71,7 +72,7 @@ export const SignInBackgroundMockContainerEffect = ({
setAvailableTableColumns,
setTableColumns,
recordTableId,
- setContextStoreCurrentObjectMetadataItem,
+ setContextStoreCurrentObjectMetadataItemId,
]);
useEffect(() => {
diff --git a/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterEffect.tsx b/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterEffect.tsx
index 537a77f2a..99f2d1344 100644
--- a/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterEffect.tsx
+++ b/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterEffect.tsx
@@ -1,4 +1,5 @@
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { COMMAND_MENU_COMPONENT_INSTANCE_ID } from '@/command-menu/constants/CommandMenuComponentInstanceId';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { useFilterableFieldMetadataItems } from '@/object-record/record-filter/hooks/useFilterableFieldMetadataItems';
import { currentRecordFiltersComponentState } from '@/object-record/record-filter/states/currentRecordFiltersComponentState';
@@ -17,8 +18,9 @@ export const ViewBarRecordFilterEffect = () => {
contextStoreCurrentViewIdComponentState,
);
- const contextStoreCurrentObjectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
+ COMMAND_MENU_COMPONENT_INSTANCE_ID,
);
const currentView = useRecoilValue(
@@ -42,14 +44,13 @@ export const ViewBarRecordFilterEffect = () => {
);
const { filterableFieldMetadataItems } = useFilterableFieldMetadataItems(
- contextStoreCurrentObjectMetadataItem?.id,
+ contextStoreCurrentObjectMetadataItemId ?? '',
);
useEffect(() => {
if (isDefined(currentView) && !hasInitializedCurrentRecordFilters) {
if (
- currentView.objectMetadataId !==
- contextStoreCurrentObjectMetadataItem?.id
+ currentView.objectMetadataId !== contextStoreCurrentObjectMetadataItemId
) {
return;
}
@@ -71,8 +72,8 @@ export const ViewBarRecordFilterEffect = () => {
filterableFieldMetadataItems,
hasInitializedCurrentRecordFilters,
setHasInitializedCurrentRecordFilters,
- contextStoreCurrentObjectMetadataItem?.id,
currentView,
+ contextStoreCurrentObjectMetadataItemId,
]);
return null;
diff --git a/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterGroupEffect.tsx b/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterGroupEffect.tsx
index f5df1f9da..60b2d1289 100644
--- a/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterGroupEffect.tsx
+++ b/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterGroupEffect.tsx
@@ -1,4 +1,5 @@
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { COMMAND_MENU_COMPONENT_INSTANCE_ID } from '@/command-menu/constants/CommandMenuComponentInstanceId';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { currentRecordFilterGroupsComponentState } from '@/object-record/record-filter-group/states/currentRecordFilterGroupsComponentState';
import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector/prefetchViewFromViewIdFamilySelector';
@@ -16,8 +17,9 @@ export const ViewBarRecordFilterGroupEffect = () => {
contextStoreCurrentViewIdComponentState,
);
- const contextStoreCurrentObjectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
+ COMMAND_MENU_COMPONENT_INSTANCE_ID,
);
const currentView = useRecoilValue(
@@ -43,8 +45,7 @@ export const ViewBarRecordFilterGroupEffect = () => {
useEffect(() => {
if (isDefined(currentView) && !hasInitializedCurrentRecordFilterGroups) {
if (
- currentView.objectMetadataId !==
- contextStoreCurrentObjectMetadataItem?.id
+ currentView.objectMetadataId !== contextStoreCurrentObjectMetadataItemId
) {
return;
}
@@ -64,7 +65,7 @@ export const ViewBarRecordFilterGroupEffect = () => {
setCurrentRecordFilterGroups,
hasInitializedCurrentRecordFilterGroups,
setHasInitializedCurrentRecordFilterGroups,
- contextStoreCurrentObjectMetadataItem?.id,
+ contextStoreCurrentObjectMetadataItemId,
currentView,
]);
diff --git a/packages/twenty-front/src/modules/views/components/ViewBarRecordSortEffect.tsx b/packages/twenty-front/src/modules/views/components/ViewBarRecordSortEffect.tsx
index cbf6e58e8..ff609eea2 100644
--- a/packages/twenty-front/src/modules/views/components/ViewBarRecordSortEffect.tsx
+++ b/packages/twenty-front/src/modules/views/components/ViewBarRecordSortEffect.tsx
@@ -1,13 +1,12 @@
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { COMMAND_MENU_COMPONENT_INSTANCE_ID } from '@/command-menu/constants/CommandMenuComponentInstanceId';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { currentRecordSortsComponentState } from '@/object-record/record-sort/states/currentRecordSortsComponentState';
import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector/prefetchViewFromViewIdFamilySelector';
import { useRecoilComponentFamilyStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyStateV2';
-
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2';
import { hasInitializedCurrentRecordSortsComponentFamilyState } from '@/views/states/hasInitializedCurrentRecordSortsComponentFamilyState';
-
import { mapViewSortsToSorts } from '@/views/utils/mapViewSortsToSorts';
import { useEffect } from 'react';
import { useRecoilValue } from 'recoil';
@@ -18,8 +17,9 @@ export const ViewBarRecordSortEffect = () => {
contextStoreCurrentViewIdComponentState,
);
- const contextStoreCurrentObjectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
+ COMMAND_MENU_COMPONENT_INSTANCE_ID,
);
const currentView = useRecoilValue(
@@ -45,8 +45,7 @@ export const ViewBarRecordSortEffect = () => {
useEffect(() => {
if (isDefined(currentView) && !hasInitializedCurrentRecordSorts) {
if (
- currentView.objectMetadataId !==
- contextStoreCurrentObjectMetadataItem?.id
+ currentView.objectMetadataId !== contextStoreCurrentObjectMetadataItemId
) {
return;
}
@@ -60,7 +59,7 @@ export const ViewBarRecordSortEffect = () => {
hasInitializedCurrentRecordSorts,
currentView,
setCurrentRecordSorts,
- contextStoreCurrentObjectMetadataItem,
+ contextStoreCurrentObjectMetadataItemId,
setHasInitializedCurrentRecordSorts,
]);
diff --git a/packages/twenty-front/src/pages/object-record/RecordIndexPage.tsx b/packages/twenty-front/src/pages/object-record/RecordIndexPage.tsx
index 6585b7fbc..50819f3c4 100644
--- a/packages/twenty-front/src/pages/object-record/RecordIndexPage.tsx
+++ b/packages/twenty-front/src/pages/object-record/RecordIndexPage.tsx
@@ -1,5 +1,5 @@
import { MAIN_CONTEXT_STORE_INSTANCE_ID } from '@/context-store/constants/MainContextStoreInstanceId';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { ContextStoreComponentInstanceContext } from '@/context-store/states/contexts/ContextStoreComponentInstanceContext';
import { RecordIndexContainerGater } from '@/object-record/record-index/components/RecordIndexContainerGater';
@@ -13,13 +13,13 @@ export const RecordIndexPage = () => {
MAIN_CONTEXT_STORE_INSTANCE_ID,
);
- const objectMetadataItem = useRecoilComponentValueV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
MAIN_CONTEXT_STORE_INSTANCE_ID,
);
if (
- isUndefined(objectMetadataItem) ||
+ isUndefined(contextStoreCurrentObjectMetadataItemId) ||
!isNonEmptyString(contextStoreCurrentViewId)
) {
return null;
diff --git a/packages/twenty-front/src/testing/decorators/ContextStoreDecorator.tsx b/packages/twenty-front/src/testing/decorators/ContextStoreDecorator.tsx
index 7750990ac..593ab3f38 100644
--- a/packages/twenty-front/src/testing/decorators/ContextStoreDecorator.tsx
+++ b/packages/twenty-front/src/testing/decorators/ContextStoreDecorator.tsx
@@ -2,7 +2,7 @@ import { Decorator } from '@storybook/react';
import { useEffect, useState } from 'react';
import { MAIN_CONTEXT_STORE_INSTANCE_ID } from '@/context-store/constants/MainContextStoreInstanceId';
-import { contextStoreCurrentObjectMetadataItemComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemComponentState';
+import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { ContextStoreComponentInstanceContext } from '@/context-store/states/contexts/ContextStoreComponentInstanceContext';
import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2';
import { isUndefined } from '@sniptt/guards';
@@ -17,8 +17,8 @@ export const ContextStoreDecorator: Decorator = (Story, context) => {
componentInstanceId = MAIN_CONTEXT_STORE_INSTANCE_ID;
}
- const setCurrentObjectMetadataItem = useSetRecoilComponentStateV2(
- contextStoreCurrentObjectMetadataItemComponentState,
+ const setCurrentObjectMetadataItemId = useSetRecoilComponentStateV2(
+ contextStoreCurrentObjectMetadataItemIdComponentState,
componentInstanceId,
);
@@ -27,9 +27,9 @@ export const ContextStoreDecorator: Decorator = (Story, context) => {
const objectMetadataItem = getMockCompanyObjectMetadataItem();
useEffect(() => {
- setCurrentObjectMetadataItem(objectMetadataItem);
+ setCurrentObjectMetadataItemId(objectMetadataItem.id);
setIsLoaded(true);
- }, [setCurrentObjectMetadataItem, objectMetadataItem]);
+ }, [setCurrentObjectMetadataItemId, objectMetadataItem]);
return (
{
setContextStoreCurrentViewId(contextStoreCurrentViewId);
setContextStoreTargetedRecordsRule(contextStoreTargetedRecordsRule);
- setContextStoreCurrentObjectMetadataItem(objectMetadataItem);
+ setContextStoreCurrentObjectMetadataItemId(objectMetadataItem.id);
setContextStoreNumberOfSelectedRecords(contextStoreNumberOfSelectedRecords);
setcontextStoreFiltersComponentState(contextStoreFilters);
setIsLoaded(true);
}, [
setContextStoreTargetedRecordsRule,
- setContextStoreCurrentObjectMetadataItem,
+ setContextStoreCurrentObjectMetadataItemId,
contextStoreTargetedRecordsRule,
contextStoreCurrentObjectMetadataId,
setContextStoreNumberOfSelectedRecords,