|
| 1 | +import { MenuGroup } from '@invoke-ai/ui-library'; |
1 | 2 | import { useAppSelector } from 'app/store/storeHooks'; |
2 | 3 | import { ControlLayerMenuItems } from 'features/controlLayers/components/ControlLayer/ControlLayerMenuItems'; |
3 | 4 | import { InpaintMaskMenuItems } from 'features/controlLayers/components/InpaintMask/InpaintMaskMenuItems'; |
|
8 | 9 | EntityIdentifierContext, |
9 | 10 | useEntityIdentifierContext, |
10 | 11 | } from 'features/controlLayers/contexts/EntityIdentifierContext'; |
| 12 | +import { useEntityTypeString } from 'features/controlLayers/hooks/useEntityTypeString'; |
11 | 13 | import { selectSelectedEntityIdentifier } from 'features/controlLayers/store/selectors'; |
| 14 | +import type { PropsWithChildren } from 'react'; |
12 | 15 | import { memo } from 'react'; |
13 | 16 | import type { Equals } from 'tsafe'; |
14 | 17 | import { assert } from 'tsafe'; |
@@ -46,9 +49,20 @@ export const CanvasContextMenuSelectedEntityMenuItems = memo(() => { |
46 | 49 |
|
47 | 50 | return ( |
48 | 51 | <EntityIdentifierContext.Provider value={selectedEntityIdentifier}> |
49 | | - <CanvasContextMenuSelectedEntityMenuItemsContent /> |
| 52 | + <CanvasContextMenuSelectedEntityMenuGroup> |
| 53 | + <CanvasContextMenuSelectedEntityMenuItemsContent /> |
| 54 | + </CanvasContextMenuSelectedEntityMenuGroup> |
50 | 55 | </EntityIdentifierContext.Provider> |
51 | 56 | ); |
52 | 57 | }); |
53 | 58 |
|
54 | 59 | CanvasContextMenuSelectedEntityMenuItems.displayName = 'CanvasContextMenuSelectedEntityMenuItems'; |
| 60 | + |
| 61 | +const CanvasContextMenuSelectedEntityMenuGroup = memo((props: PropsWithChildren) => { |
| 62 | + const entityIdentifier = useEntityIdentifierContext(); |
| 63 | + const title = useEntityTypeString(entityIdentifier.type); |
| 64 | + |
| 65 | + return <MenuGroup title={title}>{props.children}</MenuGroup>; |
| 66 | +}); |
| 67 | + |
| 68 | +CanvasContextMenuSelectedEntityMenuGroup.displayName = 'CanvasContextMenuSelectedEntityMenuGroup'; |
0 commit comments