import { Spacer } from '@invoke-ai/ui-library'; import { CanvasEntityContainer } from 'features/controlLayers/components/CanvasEntityList/CanvasEntityContainer'; import { CanvasEntityHeader } from 'features/controlLayers/components/common/CanvasEntityHeader'; import { CanvasEntityHeaderCommonActions } from 'features/controlLayers/components/common/CanvasEntityHeaderCommonActions'; import { CanvasEntityPreviewImage } from 'features/controlLayers/components/common/CanvasEntityPreviewImage'; import { CanvasEntitySettingsWrapper } from 'features/controlLayers/components/common/CanvasEntitySettingsWrapper'; import { CanvasEntityEditableTitle } from 'features/controlLayers/components/common/CanvasEntityTitleEdit'; import { ControlLayerBadges } from 'features/controlLayers/components/ControlLayer/ControlLayerBadges'; import { ControlLayerSettings } from 'features/controlLayers/components/ControlLayer/ControlLayerSettings'; import { ControlLayerAdapterGate } from 'features/controlLayers/contexts/EntityAdapterContext'; import { EntityIdentifierContext } from 'features/controlLayers/contexts/EntityIdentifierContext'; import { useCanvasIsBusy } from 'features/controlLayers/hooks/useCanvasIsBusy'; import type { CanvasEntityIdentifier } from 'features/controlLayers/store/types'; import type { ReplaceCanvasEntityObjectsWithImageDndTargetData } from 'features/dnd/dnd'; import { replaceCanvasEntityObjectsWithImageDndTarget } from 'features/dnd/dnd'; import { DndDropTarget } from 'features/dnd/DndDropTarget'; import { memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; type Props = { id: string; }; export const ControlLayer = memo(({ id }: Props) => { const { t } = useTranslation(); const isBusy = useCanvasIsBusy(); const entityIdentifier = useMemo>( () => ({ id, type: 'control_layer' }), [id] ); const dndTargetData = useMemo( () => replaceCanvasEntityObjectsWithImageDndTarget.getData({ entityIdentifier }, entityIdentifier.id), [entityIdentifier] ); return ( ); }); ControlLayer.displayName = 'ControlLayer';