From 148fe05e262bd74b34cc8e3dcd400ca83159fa53 Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Fri, 24 Nov 2023 18:13:54 +0100 Subject: [PATCH] Fix person activity creation broken --- .../components/ActivityBodyEditor.tsx | 5 ++++- .../activities/tasks/components/TaskRow.tsx | 4 +++- .../components/RecordShowPage.tsx | 7 ++++++- .../api-keys/SettingsDevelopersApiKeys.tsx | 21 ++----------------- 4 files changed, 15 insertions(+), 22 deletions(-) diff --git a/front/src/modules/activities/components/ActivityBodyEditor.tsx b/front/src/modules/activities/components/ActivityBodyEditor.tsx index 6db62637a..de4949fd9 100644 --- a/front/src/modules/activities/components/ActivityBodyEditor.tsx +++ b/front/src/modules/activities/components/ActivityBodyEditor.tsx @@ -2,6 +2,7 @@ import { useEffect, useMemo, useState } from 'react'; import { BlockNoteEditor } from '@blocknote/core'; import { useBlockNote } from '@blocknote/react'; import styled from '@emotion/styled'; +import { isNonEmptyString } from '@sniptt/guards'; import debounce from 'lodash.debounce'; import { Activity } from '@/activities/types/Activity'; @@ -48,7 +49,9 @@ export const ActivityBodyEditor = ({ const editor: BlockNoteEditor | null = useBlockNote({ initialContent: - activity.body !== '{}' ? JSON.parse(activity.body) : undefined, + isNonEmptyString(activity.body) && activity.body !== '{}' + ? JSON.parse(activity.body) + : undefined, editorDOMAttributes: { class: 'editor' }, onEditorContentChange: (editor) => { debounceOnChange(JSON.stringify(editor.topLevelBlocks) ?? ''); diff --git a/front/src/modules/activities/tasks/components/TaskRow.tsx b/front/src/modules/activities/tasks/components/TaskRow.tsx index feacc3d5d..4c6af3057 100644 --- a/front/src/modules/activities/tasks/components/TaskRow.tsx +++ b/front/src/modules/activities/tasks/components/TaskRow.tsx @@ -1,5 +1,6 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; +import { isNonEmptyString } from '@sniptt/guards'; import { ActivityTargetChips } from '@/activities/components/ActivityTargetChips'; import { useOpenActivityRightDrawer } from '@/activities/hooks/useOpenActivityRightDrawer'; @@ -71,7 +72,8 @@ export const TaskRow = ({ const theme = useTheme(); const openActivityRightDrawer = useOpenActivityRightDrawer(); - const body = JSON.parse(task.body)[0]?.content[0]?.text; + const body = JSON.parse(isNonEmptyString(task.body) ? task.body : '{}')[0] + ?.content[0]?.text; const { completeTask } = useCompleteTask(task); const activityTargetIds = diff --git a/front/src/modules/object-record/components/RecordShowPage.tsx b/front/src/modules/object-record/components/RecordShowPage.tsx index 619047823..cb867585d 100644 --- a/front/src/modules/object-record/components/RecordShowPage.tsx +++ b/front/src/modules/object-record/components/RecordShowPage.tsx @@ -172,7 +172,12 @@ export const RecordShowPage = () => { key="add" entity={{ id: object.id, - type: 'Company', + type: + objectMetadataItem?.nameSingular === 'company' + ? 'Company' + : objectMetadataItem?.nameSingular === 'person' + ? 'Person' + : 'Custom', }} /> diff --git a/front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeys.tsx b/front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeys.tsx index cec982075..1251cbea7 100644 --- a/front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeys.tsx +++ b/front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeys.tsx @@ -2,9 +2,6 @@ import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import styled from '@emotion/styled'; -import { useOptimisticEffect } from '@/apollo/optimistic-effect/hooks/useOptimisticEffect'; -import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; -import { getRecordOptimisticEffectDefinition } from '@/object-record/graphql/optimistic-effect-definition/getRecordOptimisticEffectDefinition'; import { useFindManyObjectRecords } from '@/object-record/hooks/useFindManyObjectRecords'; import { objectSettingsWidth } from '@/settings/data-model/constants/objectSettings'; import { SettingsApiKeysFieldItemTableRow } from '@/settings/developers/components/SettingsApiKeysFieldItemTableRow'; @@ -44,18 +41,12 @@ export const SettingsDevelopersApiKeys = () => { const navigate = useNavigate(); const [apiKeys, setApiKeys] = useState>([]); - const { registerOptimisticEffect } = useOptimisticEffect({ - objectNameSingular: 'apiKey', - }); - const { objectMetadataItem: foundObjectMetadataItem } = useObjectMetadataItem( - { - objectNameSingular: 'apiKey', - }, - ); + const filter = { revokedAt: { is: 'NULL' } }; useFindManyObjectRecords({ objectNamePlural: 'apiKeys', filter, + orderBy: {}, onCompleted: (data) => { setApiKeys( formatExpirations( @@ -66,14 +57,6 @@ export const SettingsDevelopersApiKeys = () => { })), ), ); - if (foundObjectMetadataItem) { - registerOptimisticEffect({ - variables: { filter, first: 30, orderBy: {} }, - definition: getRecordOptimisticEffectDefinition({ - objectMetadataItem: foundObjectMetadataItem, - }), - }); - } }, });