import { ListItem, Text, UnorderedList } from '@invoke-ai/ui-library';
import type { ImageUsage } from 'features/deleteImageModal/store/types';
import { some } from 'lodash-es';
import { memo } from 'react';
import { useTranslation } from 'react-i18next';
type Props = {
imageUsage?: ImageUsage;
topMessage?: string;
bottomMessage?: string;
};
const ImageUsageMessage = (props: Props) => {
const { t } = useTranslation();
const {
imageUsage,
topMessage = t('gallery.currentlyInUse'),
bottomMessage = t('gallery.featuresWillReset'),
} = props;
if (!imageUsage) {
return null;
}
if (!some(imageUsage)) {
return null;
}
return (
<>
{topMessage}
{imageUsage.isControlLayerImage && {t('controlLayers.controlLayer')}}
{imageUsage.isReferenceImage && {t('controlLayers.referenceImage')}}
{imageUsage.isInpaintMaskImage && {t('controlLayers.inpaintMask')}}
{imageUsage.isRasterLayerImage && {t('controlLayers.rasterLayer')}}
{imageUsage.isRegionalGuidanceImage && {t('controlLayers.regionalGuidance')}}
{imageUsage.isUpscaleImage && {t('ui.tabs.upscalingTab')}}
{imageUsage.isNodesImage && {t('ui.tabs.workflowsTab')}}
{bottomMessage}
>
);
};
export default memo(ImageUsageMessage);