1 import { type FC } from 'react';
2 import { useSelector } from 'react-redux';
4 import { c } from 'ttag';
8 type ConfirmationPromptHandles,
9 } from '@proton/pass/components/Confirmation/ConfirmationPrompt';
10 import { ConfirmDeleteAlias } from '@proton/pass/components/Item/Actions/ConfirmAliasActions';
11 import { WithVault } from '@proton/pass/components/Vault/WithVault';
12 import { isAliasItem } from '@proton/pass/lib/items/item.predicates';
13 import { selectItemSecureLinks } from '@proton/pass/store/selectors';
14 import type { ItemRevision } from '@proton/pass/types';
16 export const ConfirmDeleteItem: FC<ConfirmationPromptHandles & { item: ItemRevision }> = (props) =>
17 isAliasItem(props.item.data) ? (
18 <ConfirmDeleteAlias {...props} />
23 title={c('Title').t`Delete this item?`}
24 message={c('Warning').t`Are you sure you want to permanently delete this item?`}
28 export const ConfirmMoveItem: FC<
29 ConfirmationPromptHandles & {
33 > = ({ item, shareId, onCancel, onConfirm }) => {
34 const hasLinks = Boolean(useSelector(selectItemSecureLinks(item.shareId, item.itemId)).length);
37 <WithVault shareId={shareId} onFallback={onCancel}>
38 {({ content: { name: vaultName } }) => (
42 title={c('Title').t`Move item to "${vaultName}"`}
45 ? c('Info').t`Moving an item to another vault will erase its history and all secure links.`
46 : c('Info').t`Moving an item to another vault will erase its history.`