From ffebafd3fb00c19c2dad91dcb4e67999337bd74f Mon Sep 17 00:00:00 2001 From: bosiraphael Date: Tue, 22 Oct 2024 12:21:01 +0200 Subject: [PATCH] create SetMainContextStoreComponentInstanceIdEffect --- ...nContextStoreComponentInstanceIdEffect.tsx | 22 +++++++++++++++++++ .../mainContextStoreComponentInstanceId.ts | 6 +++-- .../components/RecordShowContainer.tsx | 9 ++------ .../pages/object-record/RecordIndexPage.tsx | 2 ++ 4 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 packages/twenty-front/src/modules/context-store/components/SetMainContextStoreComponentInstanceIdEffect.tsx diff --git a/packages/twenty-front/src/modules/context-store/components/SetMainContextStoreComponentInstanceIdEffect.tsx b/packages/twenty-front/src/modules/context-store/components/SetMainContextStoreComponentInstanceIdEffect.tsx new file mode 100644 index 000000000..b1acc25d8 --- /dev/null +++ b/packages/twenty-front/src/modules/context-store/components/SetMainContextStoreComponentInstanceIdEffect.tsx @@ -0,0 +1,22 @@ +import { ContextStoreComponentInstanceContext } from '@/context-store/states/contexts/ContextStoreComponentInstanceContext'; +import { mainContextStoreComponentInstanceIdState } from '@/context-store/states/mainContextStoreComponentInstanceId'; +import { useContext, useEffect } from 'react'; +import { useSetRecoilState } from 'recoil'; + +export const SetMainContextStoreComponentInstanceIdEffect = () => { + const setMainContextStoreComponentInstanceId = useSetRecoilState( + mainContextStoreComponentInstanceIdState, + ); + + const context = useContext(ContextStoreComponentInstanceContext); + + useEffect(() => { + setMainContextStoreComponentInstanceId(context?.instanceId ?? null); + + return () => { + setMainContextStoreComponentInstanceId(null); + }; + }, [context, setMainContextStoreComponentInstanceId]); + + return null; +}; diff --git a/packages/twenty-front/src/modules/context-store/states/mainContextStoreComponentInstanceId.ts b/packages/twenty-front/src/modules/context-store/states/mainContextStoreComponentInstanceId.ts index 91fce2a48..2e7343672 100644 --- a/packages/twenty-front/src/modules/context-store/states/mainContextStoreComponentInstanceId.ts +++ b/packages/twenty-front/src/modules/context-store/states/mainContextStoreComponentInstanceId.ts @@ -1,6 +1,8 @@ import { createState } from 'twenty-ui'; -export const mainContextStoreComponentInstanceId = createState({ - key: 'mainContextStoreComponentInstanceId', +export const mainContextStoreComponentInstanceIdState = createState< + string | null +>({ + key: 'mainContextStoreComponentInstanceIdState', defaultValue: null, }); diff --git a/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowContainer.tsx b/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowContainer.tsx index 1c0eceb64..b956ba472 100644 --- a/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowContainer.tsx +++ b/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowContainer.tsx @@ -1,7 +1,7 @@ -import { InformationBannerDeletedRecord } from '@/information-banner/components/deleted-record/InformationBannerDeletedRecord'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { ShowPageContainer } from '@/ui/layout/page/components/ShowPageContainer'; +import { SetMainContextStoreComponentInstanceIdEffect } from '@/context-store/components/SetMainContextStoreComponentInstanceIdEffect'; import { ContextStoreComponentInstanceContext } from '@/context-store/states/contexts/ContextStoreComponentInstanceContext'; import { RecordShowContainerContextStoreEffect } from '@/object-record/record-show/components/RecordShowContainerContextStoreEffect'; import { useRecordShowContainerData } from '@/object-record/record-show/hooks/useRecordShowContainerData'; @@ -49,12 +49,7 @@ export const RecordShowContainer = ({ recordId={objectRecordId} objectNameSingular={objectNameSingular} /> - {recordFromStore && recordFromStore.deletedAt && ( - - )} + {!isInRightDrawer && } { > +