2023-12-01 22:45:42 +00:00
|
|
|
import { useEffect } from 'react';
|
2024-12-11 14:42:53 +00:00
|
|
|
import { useRecoilValue } from 'recoil';
|
2023-12-01 22:45:42 +00:00
|
|
|
|
2024-03-26 13:19:40 +00:00
|
|
|
import { currentUserState } from '@/auth/states/currentUserState';
|
2024-04-30 16:48:07 +00:00
|
|
|
import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState';
|
2024-12-11 14:42:53 +00:00
|
|
|
import { useLoadMockedObjectMetadataItems } from '@/object-metadata/hooks/useLoadMockedObjectMetadataItems';
|
|
|
|
|
import { useRefreshObjectMetadataItems } from '@/object-metadata/hooks/useRefreshObjectMetadataItem';
|
2025-01-16 14:01:04 +00:00
|
|
|
import { isWorkspaceActiveOrSuspended } from 'twenty-shared';
|
2024-03-26 13:19:40 +00:00
|
|
|
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
|
2023-12-01 21:06:38 +00:00
|
|
|
|
|
|
|
|
export const ObjectMetadataItemsLoadEffect = () => {
|
2024-03-26 13:19:40 +00:00
|
|
|
const currentUser = useRecoilValue(currentUserState);
|
2024-04-30 16:48:07 +00:00
|
|
|
const currentWorkspace = useRecoilValue(currentWorkspaceState);
|
|
|
|
|
|
2024-12-11 14:42:53 +00:00
|
|
|
const { refreshObjectMetadataItems } = useRefreshObjectMetadataItems();
|
|
|
|
|
const { loadMockedObjectMetadataItems } = useLoadMockedObjectMetadataItems();
|
2023-12-01 22:45:42 +00:00
|
|
|
|
|
|
|
|
useEffect(() => {
|
2024-12-11 14:42:53 +00:00
|
|
|
if (
|
|
|
|
|
isUndefinedOrNull(currentUser) ||
|
2025-01-16 14:01:04 +00:00
|
|
|
!isWorkspaceActiveOrSuspended(currentWorkspace)
|
2024-12-11 14:42:53 +00:00
|
|
|
) {
|
|
|
|
|
loadMockedObjectMetadataItems();
|
|
|
|
|
} else {
|
|
|
|
|
refreshObjectMetadataItems();
|
|
|
|
|
}
|
|
|
|
|
}, [
|
|
|
|
|
currentUser,
|
2025-01-16 14:01:04 +00:00
|
|
|
currentWorkspace,
|
2024-12-11 14:42:53 +00:00
|
|
|
loadMockedObjectMetadataItems,
|
|
|
|
|
refreshObjectMetadataItems,
|
|
|
|
|
]);
|
2023-12-01 21:06:38 +00:00
|
|
|
|
|
|
|
|
return <></>;
|
|
|
|
|
};
|