mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-04-23 03:00:31 -04:00
@@ -1,12 +1,13 @@
|
||||
import { useStore } from '@nanostores/react';
|
||||
import { useEntityAdapter } from 'features/controlLayers/contexts/EntityAdapterContext';
|
||||
import { $true } from 'app/store/nanostores/util';
|
||||
import { useEntityAdapterSafe } from 'features/controlLayers/contexts/EntityAdapterContext';
|
||||
import { useCanvasIsBusy } from 'features/controlLayers/hooks/useCanvasIsBusy';
|
||||
import type { CanvasEntityIdentifier } from 'features/controlLayers/store/types';
|
||||
|
||||
export const useIsEntityInteractable = (entityIdentifier: CanvasEntityIdentifier) => {
|
||||
const isBusy = useCanvasIsBusy();
|
||||
const adapter = useEntityAdapter(entityIdentifier);
|
||||
const isInteractable = useStore(adapter.$isInteractable);
|
||||
const adapter = useEntityAdapterSafe(entityIdentifier);
|
||||
const isInteractable = useStore(adapter?.$isInteractable ?? $true);
|
||||
|
||||
return !isBusy && isInteractable;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user