From 7b70f7d93b1be2b2986e14c44a72f0defb6ee8d5 Mon Sep 17 00:00:00 2001 From: Paul Rastoin <45004772+prastoin@users.noreply.github.com> Date: Tue, 7 Jan 2025 15:20:54 +0100 Subject: [PATCH] [9382][FRONT]: Compute highlighted object view using raw name plural (#9394) # Introduction Please find related ticket here #9382 To fix the issue the solution seems to be to stop searching for last viewed `objectMetadata` using their slugged version `namePlural` ## Upcoming cleanup After discussing with @charlesBochet it seems like a bad practice to slug the `objectMetadata`, in this way in a following PR we will suggest a cleanup of the remaining method that does within the `useFilteredObjectMetadataItems.ts` ## Conclusion As always any suggestions are welcomed ! Please let me know closes #9382 --------- Co-authored-by: Paul Rastoin --- .../src/modules/navigation/hooks/useLastVisitedView.ts | 6 +++--- .../hooks/useFilteredObjectMetadataItems.ts | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/twenty-front/src/modules/navigation/hooks/useLastVisitedView.ts b/packages/twenty-front/src/modules/navigation/hooks/useLastVisitedView.ts index 080fbc9d7..09f4190de 100644 --- a/packages/twenty-front/src/modules/navigation/hooks/useLastVisitedView.ts +++ b/packages/twenty-front/src/modules/navigation/hooks/useLastVisitedView.ts @@ -29,7 +29,7 @@ export const useLastVisitedView = () => { setLastVisitedViewPerObjectMetadataItem, ] = useRecoilState(lastVisitedViewPerObjectMetadataItemState); - const { findActiveObjectMetadataItemBySlug } = + const { findActiveObjectMetadataItemByNamePlural } = useFilteredObjectMetadataItems(); const setFallbackForLastVisitedView = (objectMetadataItemId: string) => { @@ -49,7 +49,7 @@ export const useLastVisitedView = () => { viewId: string; }) => { const fallbackObjectMetadataItem = - findActiveObjectMetadataItemBySlug(objectNamePlural); + findActiveObjectMetadataItemByNamePlural(objectNamePlural); if (isDefined(fallbackObjectMetadataItem)) { /* when both are equal meaning there was change in view else @@ -72,7 +72,7 @@ export const useLastVisitedView = () => { objectNamePlural: string, ) => { const objectMetadataItemId: string | undefined = - findActiveObjectMetadataItemBySlug(objectNamePlural)?.id; + findActiveObjectMetadataItemByNamePlural(objectNamePlural)?.id; return objectMetadataItemId ? lastVisitedViewPerObjectMetadataItem?.[objectMetadataItemId] : undefined; diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useFilteredObjectMetadataItems.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useFilteredObjectMetadataItems.ts index 61922bf55..ac86e59b5 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useFilteredObjectMetadataItems.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useFilteredObjectMetadataItems.ts @@ -38,6 +38,12 @@ export const useFilteredObjectMetadataItems = () => { getObjectSlug(activeObjectMetadataItem) === slug, ); + const findActiveObjectMetadataItemByNamePlural = (namePlural: string) => + activeObjectMetadataItems.find( + (activeObjectMetadataItem) => + activeObjectMetadataItem.namePlural === namePlural, + ); + const findObjectMetadataItemById = (id: string) => objectMetadataItems.find( (objectMetadataItem) => objectMetadataItem.id === id, @@ -53,6 +59,7 @@ export const useFilteredObjectMetadataItems = () => { findActiveObjectMetadataItemBySlug, findObjectMetadataItemById, findObjectMetadataItemByNamePlural, + findActiveObjectMetadataItemByNamePlural, inactiveObjectMetadataItems, objectMetadataItems, findObjectMetadataItemBySlug,