diff --git a/src/app/vault/export.component.ts b/src/app/vault/export.component.ts index 0427d478..e58cd5e6 100644 --- a/src/app/vault/export.component.ts +++ b/src/app/vault/export.component.ts @@ -5,6 +5,8 @@ import { OnInit, } from '@angular/core'; +import * as os from 'os'; + import { CryptoService } from 'jslib/abstractions/crypto.service'; import { EventService } from 'jslib/abstractions/event.service'; import { ExportService } from 'jslib/abstractions/export.service'; @@ -49,4 +51,21 @@ export class ExportComponent extends BaseExportComponent implements OnInit { onWindowHidden() { this.showPassword = false; } + + async warningDialog() { + if (this.encryptedFormat) { + return await this.platformUtilsService.showDialog( + this.i18nService.t('encExportKeyWarningDesc') + + os.EOL + os.EOL + + this.i18nService.t('encExportAccountWarningDesc'), + this.i18nService.t('confirmVaultExport'), this.i18nService.t('exportVault'), + this.i18nService.t('cancel'), 'warning', + true); + } else { + return await this.platformUtilsService.showDialog( + this.i18nService.t('exportWarningDesc'), + this.i18nService.t('confirmVaultExport'), this.i18nService.t('exportVault'), + this.i18nService.t('cancel'), 'warning'); + } + } } diff --git a/src/locales/en/messages.json b/src/locales/en/messages.json index 768a562f..6f8ab9c0 100644 --- a/src/locales/en/messages.json +++ b/src/locales/en/messages.json @@ -1227,9 +1227,12 @@ "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." },