Skip to content

Commit a1647e4

Browse files
hipsterusernamepsychedelicious
authored andcommitted
Address comments
1 parent 8c9ca08 commit a1647e4

File tree

8 files changed

+17
-28
lines changed

8 files changed

+17
-28
lines changed

invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListSelectedEntityActionBar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Flex, Spacer } from '@invoke-ai/ui-library';
2-
import { CanvasNonRasterLayersIsHiddenToggle } from 'features/controlLayers/components/common/CanvasNonRasterLayersIsHiddenToggle';
2+
import { EntityListNonRasterLayerToggle } from 'features/controlLayers/components/common/CanvasNonRasterLayersIsHiddenToggle';
33
import { EntityListGlobalActionBarAddLayerMenu } from 'features/controlLayers/components/CanvasEntityList/EntityListGlobalActionBarAddLayerMenu';
44
import { EntityListSelectedEntityActionBarDuplicateButton } from 'features/controlLayers/components/CanvasEntityList/EntityListSelectedEntityActionBarDuplicateButton';
55
import { EntityListSelectedEntityActionBarFill } from 'features/controlLayers/components/CanvasEntityList/EntityListSelectedEntityActionBarFill';
@@ -23,7 +23,7 @@ export const EntityListSelectedEntityActionBar = memo(() => {
2323
<EntityListSelectedEntityActionBarTransformButton />
2424
<EntityListSelectedEntityActionBarSaveToAssetsButton />
2525
<EntityListSelectedEntityActionBarDuplicateButton />
26-
<CanvasNonRasterLayersIsHiddenToggle />
26+
<EntityListNonRasterLayerToggle />
2727
<EntityListGlobalActionBarAddLayerMenu />
2828
</Flex>
2929
</Flex>

invokeai/frontend/web/src/features/controlLayers/components/CanvasLayersPanelContent.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@ import { CanvasAddEntityButtons } from 'features/controlLayers/components/Canvas
44
import { CanvasEntityList } from 'features/controlLayers/components/CanvasEntityList/CanvasEntityList';
55
import { EntityListSelectedEntityActionBar } from 'features/controlLayers/components/CanvasEntityList/EntityListSelectedEntityActionBar';
66
import { CanvasManagerProviderGate } from 'features/controlLayers/contexts/CanvasManagerProviderGate';
7-
import { useCanvasToggleNonRasterLayersHotkey } from 'features/controlLayers/hooks/useCanvasToggleNonRasterLayersHotkey';
87
import { selectHasEntities } from 'features/controlLayers/store/selectors';
98
import { memo } from 'react';
109

1110
import { ParamDenoisingStrength } from './ParamDenoisingStrength';
1211

1312
export const CanvasLayersPanel = memo(() => {
1413
const hasEntities = useAppSelector(selectHasEntities);
15-
useCanvasToggleNonRasterLayersHotkey();
1614

1715
return (
1816
<CanvasManagerProviderGate>

invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbar.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { useCanvasDeleteLayerHotkey } from 'features/controlLayers/hooks/useCanv
1313
import { useCanvasEntityQuickSwitchHotkey } from 'features/controlLayers/hooks/useCanvasEntityQuickSwitchHotkey';
1414
import { useCanvasFilterHotkey } from 'features/controlLayers/hooks/useCanvasFilterHotkey';
1515
import { useCanvasResetLayerHotkey } from 'features/controlLayers/hooks/useCanvasResetLayerHotkey';
16+
import { useCanvasToggleNonRasterLayersHotkey } from 'features/controlLayers/hooks/useCanvasToggleNonRasterLayersHotkey';
1617
import { useCanvasTransformHotkey } from 'features/controlLayers/hooks/useCanvasTransformHotkey';
1718
import { useCanvasUndoRedoHotkeys } from 'features/controlLayers/hooks/useCanvasUndoRedoHotkeys';
1819
import { useNextPrevEntityHotkeys } from 'features/controlLayers/hooks/useNextPrevEntity';
@@ -26,6 +27,7 @@ export const CanvasToolbar = memo(() => {
2627
useNextPrevEntityHotkeys();
2728
useCanvasTransformHotkey();
2829
useCanvasFilterHotkey();
30+
useCanvasToggleNonRasterLayersHotkey();
2931

3032
return (
3133
<Flex w="full" gap={2} alignItems="center" px={2}>

invokeai/frontend/web/src/features/controlLayers/components/common/CanvasNonRasterLayersIsHiddenToggle.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { memo, useCallback } from 'react';
77
import { useTranslation } from 'react-i18next';
88
import { PiEyeBold, PiEyeClosedBold } from 'react-icons/pi';
99

10-
export const CanvasNonRasterLayersIsHiddenToggle = memo(() => {
10+
export const EntityListNonRasterLayerToggle = memo(() => {
1111
const { t } = useTranslation();
1212
const dispatch = useAppDispatch();
1313
const isHidden = useNonRasterLayersIsHidden();
@@ -33,4 +33,4 @@ export const CanvasNonRasterLayersIsHiddenToggle = memo(() => {
3333
);
3434
});
3535

36-
CanvasNonRasterLayersIsHiddenToggle.displayName = 'CanvasNonRasterLayersIsHiddenToggle';
36+
EntityListNonRasterLayerToggle.displayName = 'EntityListNonRasterLayerToggle';

invokeai/frontend/web/src/features/controlLayers/hooks/useCanvasToggleNonRasterLayersHotkey.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ export const useCanvasToggleNonRasterLayersHotkey = () => {
1616
callback: handleToggleNonRasterLayers,
1717
dependencies: [handleToggleNonRasterLayers],
1818
});
19-
};
19+
};
Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,6 @@
1-
import { createSelector } from '@reduxjs/toolkit';
21
import { useAppSelector } from 'app/store/storeHooks';
3-
import { selectCanvasSlice } from 'features/controlLayers/store/selectors';
4-
import { useMemo } from 'react';
2+
import { selectNonRasterLayersIsHidden } from 'features/controlLayers/store/selectors';
53

64
export const useNonRasterLayersIsHidden = (): boolean => {
7-
const selectNonRasterLayersIsHidden = useMemo(
8-
() =>
9-
createSelector(selectCanvasSlice, (canvas) => {
10-
// Check if all non-raster layer categories are hidden
11-
return (
12-
canvas.controlLayers.isHidden &&
13-
canvas.inpaintMasks.isHidden &&
14-
canvas.regionalGuidance.isHidden
15-
);
16-
}),
17-
[]
18-
);
19-
const isHidden = useAppSelector(selectNonRasterLayersIsHidden);
20-
return isHidden;
5+
return useAppSelector(selectNonRasterLayersIsHidden);
216
};

invokeai/frontend/web/src/features/controlLayers/store/canvasSlice.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1540,20 +1540,16 @@ export const canvasSlice = createSlice({
15401540
}
15411541
},
15421542
allNonRasterLayersIsHiddenToggled: (state) => {
1543-
// Toggle visibility for all non-raster layer categories
1544-
// Check if any non-raster layers are currently visible
15451543
const hasVisibleNonRasterLayers =
15461544
!state.controlLayers.isHidden ||
15471545
!state.inpaintMasks.isHidden ||
15481546
!state.regionalGuidance.isHidden;
15491547

1550-
// If any are visible, hide all; if all are hidden, show all
15511548
const shouldHide = hasVisibleNonRasterLayers;
15521549

15531550
state.controlLayers.isHidden = shouldHide;
15541551
state.inpaintMasks.isHidden = shouldHide;
15551552
state.regionalGuidance.isHidden = shouldHide;
1556-
// Note: reference_image doesn't have isHidden property, so it's not included
15571553
},
15581554
allEntitiesDeleted: (state) => {
15591555
// Deleting all entities is equivalent to resetting the state for each entity type

invokeai/frontend/web/src/features/controlLayers/store/selectors.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,3 +406,11 @@ export const selectIsCanvasEmpty = createCanvasSelector(
406406
);
407407
}
408408
);
409+
410+
/**
411+
* Selects whether all non-raster layer categories (control layers, inpaint masks, regional guidance) are hidden.
412+
* This is used to determine the state of the toggle button that shows/hides all non-raster layers.
413+
*/
414+
export const selectNonRasterLayersIsHidden = createSelector(selectCanvasSlice, (canvas) => {
415+
return canvas.controlLayers.isHidden && canvas.inpaintMasks.isHidden && canvas.regionalGuidance.isHidden;
416+
});

0 commit comments

Comments
 (0)