From 9300f0a29b0ae89a291a9e2bdd99b73d2c68305a Mon Sep 17 00:00:00 2001 From: Rithik M <132109441+Rithik-93@users.noreply.github.com> Date: Mon, 3 Mar 2025 20:38:34 +0530 Subject: [PATCH] Fix: Prevent Multiple Search Icons in Command Menu (#10424) Description: This PR fixes an issue where clicking the search button multiple times caused multiple search icons to appear in the search bar. The issue was caused by continuously appending new items to the navigation stack instead of replacing the existing search page entry. Before: https://github.com/user-attachments/assets/1abc4223-6295-4eea-b276-00e4539a2992 After: https://github.com/user-attachments/assets/04d3a306-f3ca-4d3d-9028-9e4b4574e6a6 --------- Co-authored-by: Lucas Bordeau --- .../src/modules/command-menu/hooks/useCommandMenu.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenu.ts b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenu.ts index 22895b40c..6c7e568ba 100644 --- a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenu.ts +++ b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenu.ts @@ -154,7 +154,11 @@ export const useCommandMenu = () => { ? [] : snapshot.getLoadable(commandMenuNavigationStackState).getValue(); - if (resetNavigationStack) { + const itemIsAlreadyInStack = currentNavigationStack.some( + (item) => item.page === page, + ); + + if (resetNavigationStack || itemIsAlreadyInStack) { set(commandMenuNavigationStackState, [{ page, pageTitle, pageIcon }]); } else { set(commandMenuNavigationStackState, [