Fix search fallback command menu item (#19304)

The search fallback was treated as a standard action and not as a
fallback by the frontend.

## Before


https://github.com/user-attachments/assets/4d2f1e09-b109-46eb-89ff-ca589eeb7239


## After


https://github.com/user-attachments/assets/e4523047-eb1e-4386-9c19-57797e1ef26c
This commit is contained in:
Raphaël Bosi
2026-04-03 11:50:07 +02:00
committed by GitHub
parent f01bcf60ee
commit da72075841
@@ -2,6 +2,7 @@ import { CommandMenuContext } from '@/command-menu-item/contexts/CommandMenuCont
import { PINNED_COMMAND_MENU_ITEMS_GAP } from '@/command-menu-item/server-items/display/constants/PinnedCommandMenuItemsGap';
import { commandMenuPinnedInlineLayoutState } from '@/command-menu-item/server-items/display/states/commandMenuPinnedInlineLayoutState';
import { getVisibleCommandMenuItemCountForContainerWidth } from '@/command-menu-item/server-items/display/utils/getVisibleCommandMenuItemCountForContainerWidth';
import { CommandMenuItemType } from '@/command-menu-item/types/CommandMenuItemType';
import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { SidePanelGroup } from '@/side-panel/components/SidePanelGroup';
import { SidePanelList } from '@/side-panel/components/SidePanelList';
@@ -14,8 +15,8 @@ import { type SidePanelCommandMenuItemGroupConfig } from '@/side-panel/types/Sid
import { useAtomComponentStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomComponentStateValue';
import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue';
import { useLingui } from '@lingui/react/macro';
import { useContext } from 'react';
import { isNumber } from '@sniptt/guards';
import { useContext } from 'react';
import { isDefined } from 'twenty-shared/utils';
export const SidePanelCommandMenuItemDisplayPage = () => {
@@ -41,13 +42,21 @@ export const SidePanelCommandMenuItemDisplayPage = () => {
);
const unpinnedCommandMenuItems = commandMenuItems
.filter((commandMenuItem) => commandMenuItem.isPinned !== true)
.filter(
(commandMenuItem) =>
commandMenuItem.isPinned !== true &&
commandMenuItem.type !== CommandMenuItemType.Fallback,
)
.sort(
(firstUnpinnedCommandMenuItem, secondUnpinnedCommandMenuItem) =>
firstUnpinnedCommandMenuItem.position -
secondUnpinnedCommandMenuItem.position,
);
const fallbackCommandMenuItems = commandMenuItems.filter(
(commandMenuItem) => commandMenuItem.type === CommandMenuItemType.Fallback,
);
const pinnedCommandMenuItemKeysInDisplayOrder = pinnedCommandMenuItems.map(
(pinnedCommandMenuItem) => pinnedCommandMenuItem.key,
);
@@ -95,6 +104,10 @@ export const SidePanelCommandMenuItemDisplayPage = () => {
heading: t`Other`,
items: matchingOtherItems,
},
{
heading: t`Fallback`,
items: noResults ? fallbackCommandMenuItems : [],
},
];
const selectableItems = commandGroups.flatMap((group) => group.items ?? []);