361 create a navigation stack for the command menu (#9995)

Closes https://github.com/twentyhq/core-team-issues/issues/361

- Created navigation stack state
- Created navigation functions inside the `useCommandMenu` hook
- Added tests
This commit is contained in:
Raphaël Bosi
2025-02-04 15:47:43 +01:00
committed by GitHub
parent b2e4d0d04d
commit dfc1bb7c29
5 changed files with 279 additions and 38 deletions

View File

@ -4,8 +4,6 @@ import { isRightDrawerMinimizedState } from '@/ui/layout/right-drawer/states/isR
import { rightDrawerCloseEventState } from '@/ui/layout/right-drawer/states/rightDrawerCloseEventsState';
import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu';
import { commandMenuPageState } from '@/command-menu/states/commandMenuPageState';
import { commandMenuPageInfoState } from '@/command-menu/states/commandMenuPageTitle';
import { emitRightDrawerCloseEvent } from '@/ui/layout/right-drawer/utils/emitRightDrawerCloseEvent';
import { mapRightDrawerPageToCommandMenuPage } from '@/ui/layout/right-drawer/utils/mapRightDrawerPageToCommandMenuPage';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
@ -25,7 +23,7 @@ export const useRightDrawer = () => {
FeatureFlagKey.IsCommandMenuV2Enabled,
);
const { openCommandMenu } = useCommandMenu();
const { navigateCommandMenu } = useCommandMenu();
const openRightDrawer = useRecoilCallback(
({ set }) =>
@ -40,12 +38,12 @@ export const useRightDrawer = () => {
const commandMenuPage =
mapRightDrawerPageToCommandMenuPage(rightDrawerPage);
set(commandMenuPageState, commandMenuPage);
set(commandMenuPageInfoState, {
title: commandMenuPageInfo?.title,
Icon: commandMenuPageInfo?.Icon,
navigateCommandMenu({
page: commandMenuPage,
pageTitle: commandMenuPageInfo?.title,
pageIcon: commandMenuPageInfo?.Icon,
});
openCommandMenu();
return;
}
@ -53,7 +51,7 @@ export const useRightDrawer = () => {
set(isRightDrawerOpenState, true);
set(isRightDrawerMinimizedState, false);
},
[isCommandMenuV2Enabled, openCommandMenu],
[isCommandMenuV2Enabled, navigateCommandMenu],
);
const closeRightDrawer = useRecoilCallback(