NEWONE1
/
invokeai
/frontend
/web
/src
/features
/gallery
/components
/ImageContextMenu
/ImageMenuItemMetadataRecallActions.tsx
import { Menu, MenuButton, MenuItem, MenuList } from '@invoke-ai/ui-library'; | |
import { SubMenuButtonContent, useSubMenu } from 'common/hooks/useSubMenu'; | |
import { useImageDTOContext } from 'features/gallery/contexts/ImageDTOContext'; | |
import { useImageActions } from 'features/gallery/hooks/useImageActions'; | |
import { memo } from 'react'; | |
import { useTranslation } from 'react-i18next'; | |
import { | |
PiArrowBendUpLeftBold, | |
PiArrowsCounterClockwiseBold, | |
PiAsteriskBold, | |
PiPaintBrushBold, | |
PiPlantBold, | |
PiQuotesBold, | |
} from 'react-icons/pi'; | |
export const ImageMenuItemMetadataRecallActions = memo(() => { | |
const { t } = useTranslation(); | |
const imageDTO = useImageDTOContext(); | |
const subMenu = useSubMenu(); | |
const { recallAll, remix, recallSeed, recallPrompts, hasMetadata, hasSeed, hasPrompts, createAsPreset } = | |
useImageActions(imageDTO); | |
return ( | |
<MenuItem {...subMenu.parentMenuItemProps} icon={<PiArrowBendUpLeftBold />}> | |
<Menu {...subMenu.menuProps}> | |
<MenuButton {...subMenu.menuButtonProps}> | |
<SubMenuButtonContent label={t('parameters.recallMetadata')} /> | |
</MenuButton> | |
<MenuList {...subMenu.menuListProps}> | |
<MenuItem icon={<PiArrowsCounterClockwiseBold />} onClick={remix} isDisabled={!hasMetadata}> | |
{t('parameters.remixImage')} | |
</MenuItem> | |
<MenuItem icon={<PiQuotesBold />} onClick={recallPrompts} isDisabled={!hasPrompts}> | |
{t('parameters.usePrompt')} | |
</MenuItem> | |
<MenuItem icon={<PiPlantBold />} onClick={recallSeed} isDisabled={!hasSeed}> | |
{t('parameters.useSeed')} | |
</MenuItem> | |
<MenuItem icon={<PiAsteriskBold />} onClick={recallAll} isDisabled={!hasMetadata}> | |
{t('parameters.useAll')} | |
</MenuItem> | |
<MenuItem icon={<PiPaintBrushBold />} onClick={createAsPreset} isDisabled={!hasPrompts}> | |
{t('stylePresets.useForTemplate')} | |
</MenuItem> | |
</MenuList> | |
</Menu> | |
</MenuItem> | |
); | |
}); | |
ImageMenuItemMetadataRecallActions.displayName = 'ImageMenuItemMetadataRecallActions'; | |