import { MenuGroup } from '@invoke-ai/ui-library'; import { useAppSelector } from 'app/store/storeHooks'; import { ControlLayerMenuItems } from 'features/controlLayers/components/ControlLayer/ControlLayerMenuItems'; import { InpaintMaskMenuItems } from 'features/controlLayers/components/InpaintMask/InpaintMaskMenuItems'; import { IPAdapterMenuItems } from 'features/controlLayers/components/IPAdapter/IPAdapterMenuItems'; import { RasterLayerMenuItems } from 'features/controlLayers/components/RasterLayer/RasterLayerMenuItems'; import { RegionalGuidanceMenuItems } from 'features/controlLayers/components/RegionalGuidance/RegionalGuidanceMenuItems'; import { EntityIdentifierContext, useEntityIdentifierContext, } from 'features/controlLayers/contexts/EntityIdentifierContext'; import { useEntityTypeString } from 'features/controlLayers/hooks/useEntityTypeString'; import { selectSelectedEntityIdentifier } from 'features/controlLayers/store/selectors'; import type { PropsWithChildren } from 'react'; import { memo } from 'react'; import type { Equals } from 'tsafe'; import { assert } from 'tsafe'; const CanvasContextMenuSelectedEntityMenuItemsContent = memo(() => { const entityIdentifier = useEntityIdentifierContext(); if (entityIdentifier.type === 'raster_layer') { return ; } if (entityIdentifier.type === 'control_layer') { return ; } if (entityIdentifier.type === 'inpaint_mask') { return ; } if (entityIdentifier.type === 'regional_guidance') { return ; } if (entityIdentifier.type === 'reference_image') { return ; } assert>(false); }); CanvasContextMenuSelectedEntityMenuItemsContent.displayName = 'CanvasContextMenuSelectedEntityMenuItemsContent'; export const CanvasContextMenuSelectedEntityMenuItems = memo(() => { const selectedEntityIdentifier = useAppSelector(selectSelectedEntityIdentifier); if (!selectedEntityIdentifier) { return null; } return ( ); }); CanvasContextMenuSelectedEntityMenuItems.displayName = 'CanvasContextMenuSelectedEntityMenuItems'; const CanvasContextMenuSelectedEntityMenuGroup = memo((props: PropsWithChildren) => { const entityIdentifier = useEntityIdentifierContext(); const title = useEntityTypeString(entityIdentifier.type); return {props.children}; }); CanvasContextMenuSelectedEntityMenuGroup.displayName = 'CanvasContextMenuSelectedEntityMenuGroup';