import { ConfirmationAlertDialog, Divider, Flex, FormControl, FormLabel, Switch, Text } from '@invoke-ai/ui-library'; import { useAppStore } from 'app/store/nanostores/store'; import { useAppSelector } from 'app/store/storeHooks'; import ImageUsageMessage from 'features/deleteImageModal/components/ImageUsageMessage'; import { useDeleteImageModalApi, useDeleteImageModalState } from 'features/deleteImageModal/store/state'; import { selectSystemShouldConfirmOnDelete, setShouldConfirmOnDelete } from 'features/system/store/systemSlice'; import type { ChangeEvent } from 'react'; import { memo, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; export const DeleteImageModal = memo(() => { const state = useDeleteImageModalState(); const api = useDeleteImageModalApi(); const { dispatch } = useAppStore(); const { t } = useTranslation(); const shouldConfirmOnDelete = useAppSelector(selectSystemShouldConfirmOnDelete); const handleChangeShouldConfirmOnDelete = useCallback( (e: ChangeEvent) => dispatch(setShouldConfirmOnDelete(!e.target.checked)), [dispatch] ); return ( {t('gallery.deleteImagePermanent')} {t('common.areYouSure')} {t('common.dontAskMeAgain')} ); }); DeleteImageModal.displayName = 'DeleteImageModal';