mirror of
https://github.com/bitwarden/browser
synced 2025-12-12 22:33:35 +00:00
Dynamic Modals (#417)
* Move backdrop and click handler to modal service since they should not be used in web * Add support for opening modals using ViewContainerRef
This commit is contained in:
30
angular/src/components/password-reprompt.component.ts
Normal file
30
angular/src/components/password-reprompt.component.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { Directive } from '@angular/core';
|
||||
|
||||
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||
import { ModalRef } from './modal/modal.ref';
|
||||
|
||||
@Directive()
|
||||
export class PasswordRepromptComponent {
|
||||
|
||||
showPassword = false;
|
||||
masterPassword = '';
|
||||
|
||||
constructor(private modalRef: ModalRef, private cryptoService: CryptoService, private platformUtilsService: PlatformUtilsService,
|
||||
private i18nService: I18nService) {}
|
||||
|
||||
togglePassword() {
|
||||
this.showPassword = !this.showPassword;
|
||||
}
|
||||
|
||||
async submit() {
|
||||
if (!await this.cryptoService.compareAndUpdateKeyHash(this.masterPassword, null)) {
|
||||
this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),
|
||||
this.i18nService.t('invalidMasterPassword'));
|
||||
return;
|
||||
}
|
||||
|
||||
this.modalRef.close(true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user