From 542419bc1b86053e90e28db67d795bf7bee40c74 Mon Sep 17 00:00:00 2001 From: Weiko Date: Mon, 5 Aug 2024 14:36:57 +0200 Subject: [PATCH] Timeline log displays empty when field value deleted (#6542) Fixes https://github.com/twentyhq/twenty/issues/6288 ## Before Screenshot 2024-08-05 at 13 22 13 ## After Screenshot 2024-08-05 at 13 22 05 --- .../main-object/components/EventFieldDiff.tsx | 44 ++++++++++++++----- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/packages/twenty-front/src/modules/activities/timelineActivities/rows/main-object/components/EventFieldDiff.tsx b/packages/twenty-front/src/modules/activities/timelineActivities/rows/main-object/components/EventFieldDiff.tsx index 1cebf7e5e..94726465f 100644 --- a/packages/twenty-front/src/modules/activities/timelineActivities/rows/main-object/components/EventFieldDiff.tsx +++ b/packages/twenty-front/src/modules/activities/timelineActivities/rows/main-object/components/EventFieldDiff.tsx @@ -23,6 +23,10 @@ const StyledEventFieldDiffContainer = styled.div` width: 380px; `; +const StyledEmptyValue = styled.div` + color: ${({ theme }) => theme.font.color.tertiary}; +`; + export const EventFieldDiff = ({ diffRecord, mainObjectMetadataItem, @@ -33,21 +37,39 @@ export const EventFieldDiff = ({ throw new Error('fieldMetadataItem is required'); } + const isValueEmpty = (value: unknown): boolean => + value === null || value === undefined || value === ''; + + const isObjectEmpty = (obj: Record): boolean => + Object.values(obj).every(isValueEmpty); + + const isUpdatedToEmpty = + isValueEmpty(diffRecord) || + (typeof diffRecord === 'object' && + diffRecord !== null && + isObjectEmpty(diffRecord)); + return ( → - - + {isUpdatedToEmpty ? ( + Empty + ) : ( + <> + + + + )} );