Cleanup - unused files / unused exports / duplicate exports
[ProtonMail-WebClient.git] / packages / components / containers / addresses / DisableAddressModal.tsx
blobfbc09cd78fc9f365e1a4af98d0302f46641f4b51
1 import { c } from 'ttag';
3 import { Button } from '@proton/atoms';
4 import Prompt from '@proton/components/components/prompt/Prompt';
5 import type { PromptProps } from '@proton/components/components/prompt/Prompt';
6 import { useLoading } from '@proton/hooks';
7 import { BRAND_NAME } from '@proton/shared/lib/constants';
9 interface Props extends Omit<PromptProps, 'title' | 'children' | 'buttons'> {
10     email: string;
11     onDisable: () => Promise<void>;
14 const DisableAddressModal = ({ email, onDisable, ...rest }: Props) => {
15     const [loading, withLoading] = useLoading();
16     const address = (
17         <strong key="address" className="text-break">
18             {email}
19         </strong>
20     );
21     return (
22         <Prompt
23             title={c('Disable address prompt').t`Disable address?`}
24             buttons={[
25                 <Button color="danger" onClick={() => withLoading(onDisable().then(rest.onClose))} loading={loading}>
26                     {c('Disable address prompt').t`Disable address`}
27                 </Button>,
28                 <Button onClick={rest.onClose} disabled={loading}>{c('Action').t`Cancel`}</Button>,
29             ]}
30             {...rest}
31         >
32             {c('Disable address prompt')
33                 .jt`By disabling this address ${address}, you will no longer be able to send or receive emails using this address and all the linked ${BRAND_NAME} products will be disabled.`}
34             <br />
35             <br />
36             {c('Disable address prompt').t`Are you sure you want to disable this address?`}
37         </Prompt>
38     );
41 export default DisableAddressModal;