mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-02-15 15:55:40 -05:00
- Add lock toggle - Tweak lock and enabled styles - Update entity list action bar w/ delete & delete all - Move add layer menu to action bar - Adjust opacity slider style
23 lines
773 B
TypeScript
23 lines
773 B
TypeScript
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) => {
|
|
const selectIsLocked = useMemo(
|
|
() =>
|
|
createSelector(selectCanvasSlice, (canvas) => {
|
|
const entity = selectEntity(canvas, entityIdentifier);
|
|
if (!entity) {
|
|
return false;
|
|
} else {
|
|
return entity.isLocked;
|
|
}
|
|
}),
|
|
[entityIdentifier]
|
|
);
|
|
const isLocked = useAppSelector(selectIsLocked);
|
|
return isLocked;
|
|
};
|