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 useEntityIsLocked = (entityIdentifier: CanvasEntityIdentifier | null) => { const selectIsLocked = useMemo( () => createSelector(selectCanvasSlice, (canvas) => { if (!entityIdentifier) { return false; } const entity = selectEntity(canvas, entityIdentifier); if (!entity) { return false; } else { return entity.isLocked; } }), [entityIdentifier] ); const isLocked = useAppSelector(selectIsLocked); return isLocked; };