import { createSelector } from '@reduxjs/toolkit'; import { useAppSelector } from 'app/store/storeHooks'; import { selectCanvasSlice, selectEntity } from 'features/controlLayers/store/selectors'; import type { CanvasEntityIdentifier } from 'features/controlLayers/store/types'; import { useMemo } from 'react'; export const useEntityIsEnabled = (entityIdentifier: CanvasEntityIdentifier) => { const selectIsEnabled = useMemo( () => createSelector(selectCanvasSlice, (canvas) => { const entity = selectEntity(canvas, entityIdentifier); if (!entity) { return false; } else { return entity.isEnabled; } }), [entityIdentifier] ); const isEnabled = useAppSelector(selectIsEnabled); return isEnabled; };