mirror of
https://github.com/bitwarden/browser
synced 2025-12-18 09:13:33 +00:00
* Move backdrop and click handler to modal service since they should not be used in web * Add support for opening modals using ViewContainerRef
31 lines
1.0 KiB
TypeScript
31 lines
1.0 KiB
TypeScript
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);
|
|
}
|
|
}
|