-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Expand file tree
/
Copy pathCommandMenuContextProvider.tsx
More file actions
44 lines (41 loc) · 1.53 KB
/
CommandMenuContextProvider.tsx
File metadata and controls
44 lines (41 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import { type CommandMenuContextType } from '@/command-menu-item/contexts/CommandMenuContext';
import { CommandMenuContextProviderLegacy } from '@/command-menu-item/contexts/CommandMenuContextProviderLegacy';
import { CommandMenuContextProviderServerItems } from '@/command-menu-item/server-items/common/contexts/CommandMenuContextProviderServerItems';
import { type EnrichedObjectMetadataItem } from '@/object-metadata/types/EnrichedObjectMetadataItem';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
import { FeatureFlagKey } from '~/generated-metadata/graphql';
export const CommandMenuContextProvider = ({
children,
isInSidePanel,
displayType,
containerType,
objectMetadataItemOverride,
}: Omit<CommandMenuContextType, 'commandMenuItems'> & {
children: React.ReactNode;
objectMetadataItemOverride?: EnrichedObjectMetadataItem;
}) => {
const isCommandMenuItemEnabled = useIsFeatureEnabled(
FeatureFlagKey.IS_COMMAND_MENU_ITEM_ENABLED,
);
if (isCommandMenuItemEnabled) {
return (
<CommandMenuContextProviderServerItems
isInSidePanel={isInSidePanel}
displayType={displayType}
containerType={containerType}
>
{children}
</CommandMenuContextProviderServerItems>
);
}
return (
<CommandMenuContextProviderLegacy
isInSidePanel={isInSidePanel}
displayType={displayType}
containerType={containerType}
objectMetadataItemOverride={objectMetadataItemOverride}
>
{children}
</CommandMenuContextProviderLegacy>
);
};