2024-09-16 15:38:12 -04:00
|
|
|
// Copyright 2024 Signal Messenger, LLC
|
|
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
|
|
|
|
import React from 'react';
|
|
|
|
|
|
|
|
import { ConfirmationDialog } from './ConfirmationDialog';
|
|
|
|
import type { LocalizerType } from '../types/I18N';
|
2025-07-03 14:30:13 -04:00
|
|
|
import { I18n } from './I18n';
|
2024-09-16 15:38:12 -04:00
|
|
|
|
2025-07-03 14:30:13 -04:00
|
|
|
const BACKUP_AND_RESTORE_SUPPORT_PAGE =
|
|
|
|
'https://support.signal.org/hc/articles/360007059752-Backup-and-Restore-Messages';
|
2024-09-16 15:38:12 -04:00
|
|
|
export function BackupMediaDownloadCancelConfirmationDialog({
|
|
|
|
i18n,
|
|
|
|
handleConfirmCancel,
|
|
|
|
handleDialogClose,
|
|
|
|
}: {
|
|
|
|
i18n: LocalizerType;
|
|
|
|
handleConfirmCancel: VoidFunction;
|
|
|
|
handleDialogClose: VoidFunction;
|
|
|
|
}): JSX.Element | null {
|
2025-07-03 14:30:13 -04:00
|
|
|
const learnMoreLink = (parts: Array<string | JSX.Element>) => (
|
|
|
|
<a href={BACKUP_AND_RESTORE_SUPPORT_PAGE} rel="noreferrer" target="_blank">
|
|
|
|
{parts}
|
|
|
|
</a>
|
|
|
|
);
|
2024-09-16 15:38:12 -04:00
|
|
|
return (
|
|
|
|
<ConfirmationDialog
|
|
|
|
moduleClassName="BackupMediaDownloadCancelConfirmation"
|
|
|
|
dialogName="BackupMediaDownloadCancelConfirmation"
|
|
|
|
cancelText={i18n(
|
|
|
|
'icu:BackupMediaDownloadCancelConfirmation__button-continue'
|
|
|
|
)}
|
|
|
|
actions={[
|
|
|
|
{
|
|
|
|
text: i18n(
|
|
|
|
'icu:BackupMediaDownloadCancelConfirmation__button-confirm-cancel'
|
|
|
|
),
|
|
|
|
action: handleConfirmCancel,
|
|
|
|
style: 'negative',
|
|
|
|
},
|
|
|
|
]}
|
|
|
|
i18n={i18n}
|
|
|
|
onClose={handleDialogClose}
|
|
|
|
title={i18n('icu:BackupMediaDownloadCancelConfirmation__title')}
|
|
|
|
>
|
2025-07-03 14:30:13 -04:00
|
|
|
<I18n
|
|
|
|
id="icu:BackupMediaDownloadCancelConfirmation__description"
|
|
|
|
i18n={i18n}
|
|
|
|
components={{
|
|
|
|
learnMoreLink,
|
|
|
|
}}
|
|
|
|
/>
|
2024-09-16 15:38:12 -04:00
|
|
|
</ConfirmationDialog>
|
|
|
|
);
|
|
|
|
}
|