4b3a46d953
- Removes the intermediate `CommandMenuItemConfig` / `CommandConfigContext` / `CommandMenuItemDisplay` abstraction layers, replacing them with a single `CommandMenuItemRenderer` that renders directly from the command menu items from the backend - Eliminates the server-items/ subdirectory by moving its contents (hooks/, contexts/, states/, display/, edit/) up into the parent command-menu-item/ module, removing an unnecessary nesting level.
20 lines
872 B
TypeScript
20 lines
872 B
TypeScript
import { EMPTY_COMMAND_MENU_CONTEXT_API } from '@/command-menu-item/constants/EmptyCommandMenuContextApi';
|
|
import { type CommandMenuItemContainerType } from '@/command-menu-item/types/CommandMenuItemContainerType';
|
|
import { createContext } from 'react';
|
|
import { type CommandMenuContextApi } from 'twenty-shared/types';
|
|
import { type CommandMenuItemFieldsFragment } from '~/generated-metadata/graphql';
|
|
|
|
export type CommandMenuContextType = {
|
|
displayType: 'button' | 'listItem' | 'dropdownItem';
|
|
containerType: CommandMenuItemContainerType;
|
|
commandMenuItems: CommandMenuItemFieldsFragment[];
|
|
commandMenuContextApi: CommandMenuContextApi;
|
|
};
|
|
|
|
export const CommandMenuContext = createContext<CommandMenuContextType>({
|
|
containerType: 'command-menu-list',
|
|
displayType: 'button',
|
|
commandMenuItems: [],
|
|
commandMenuContextApi: EMPTY_COMMAND_MENU_CONTEXT_API,
|
|
});
|