diff --git a/src/app/accounts/settings.component.ts b/src/app/accounts/settings.component.ts index b190e4253b..a178e96cd0 100644 --- a/src/app/accounts/settings.component.ts +++ b/src/app/accounts/settings.component.ts @@ -128,6 +128,16 @@ export class SettingsComponent implements OnInit { } async saveVaultTimeoutOptions() { + if (this.vaultTimeoutAction === 'logOut') { + const confirmed = await this.platformUtilsService.showDialog( + this.i18nService.t('vaultTimeoutLogOutConfirmation'), + this.i18nService.t('vaultTimeoutLogOutConfirmationTitle'), + this.i18nService.t('yes'), this.i18nService.t('cancel'), 'warning'); + if (!confirmed) { + this.vaultTimeoutAction = 'lock'; + return; + } + } await this.vaultTimeoutService.setVaultTimeoutOptions(this.vaultTimeout != null ? this.vaultTimeout : null, this.vaultTimeoutAction); } diff --git a/src/locales/en/messages.json b/src/locales/en/messages.json index 4e35b8567f..64fb8a4149 100644 --- a/src/locales/en/messages.json +++ b/src/locales/en/messages.json @@ -1298,5 +1298,11 @@ "lock": { "message": "Lock", "description": "Verb form: to make secure or inaccesible by" + }, + "vaultTimeoutLogOutConfirmation": { + "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" + }, + "vaultTimeoutLogOutConfirmationTitle": { + "message": "Timeout Action Confirmation" } }