feat(ui): revise filter implementation

This commit is contained in:
psychedelicious
2024-08-21 19:01:48 +10:00
parent f1fcc98a09
commit 01ac4c3b3e
10 changed files with 134 additions and 126 deletions

View File

@@ -1,19 +1,21 @@
import { MenuItem } from '@invoke-ai/ui-library';
import { useCanvasManager } from 'features/controlLayers/contexts/CanvasManagerProviderGate';
import { useEntityIdentifierContext } from 'features/controlLayers/contexts/EntityIdentifierContext';
import { $filteringEntity } from 'features/controlLayers/store/canvasV2Slice';
import { memo, useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { PiShootingStarBold } from 'react-icons/pi';
export const CanvasEntityMenuItemsFilter = memo(() => {
const { t } = useTranslation();
const canvasManager = useCanvasManager();
const entityIdentifier = useEntityIdentifierContext();
const filter = useCallback(() => {
$filteringEntity.set(entityIdentifier);
}, [entityIdentifier]);
const onClick = useCallback(() => {
canvasManager.filter.initialize(entityIdentifier);
}, [entityIdentifier, canvasManager.filter]);
return (
<MenuItem onClick={filter} icon={<PiShootingStarBold />}>
<MenuItem onClick={onClick} icon={<PiShootingStarBold />}>
{t('controlLayers.filter.filter')}
</MenuItem>
);