mirror of
https://github.com/bitwarden/browser.git
synced 2025-02-10 00:21:27 +01:00
Prefill email field when "create account" is clicked.
This commit is contained in:
parent
9bb84094ae
commit
d9f930d7cb
@ -21,10 +21,12 @@ import { DialogService, ToastService } from "@bitwarden/components";
|
||||
import { PasswordGenerationServiceAbstraction } from "@bitwarden/generator-legacy";
|
||||
|
||||
import { AcceptOrganizationInviteService } from "../organization-invite/accept-organization.service";
|
||||
import { LoginEmailService } from "../../../../../../libs/auth/src/common/services/login-email/login-email.service";
|
||||
|
||||
@Component({
|
||||
selector: "app-register-form",
|
||||
templateUrl: "./register-form.component.html",
|
||||
providers: [LoginEmailService],
|
||||
})
|
||||
export class RegisterFormComponent extends BaseRegisterComponent implements OnInit {
|
||||
@Input() queryParamEmail: string;
|
||||
@ -53,6 +55,7 @@ export class RegisterFormComponent extends BaseRegisterComponent implements OnIn
|
||||
dialogService: DialogService,
|
||||
acceptOrgInviteService: AcceptOrganizationInviteService,
|
||||
toastService: ToastService,
|
||||
private loginEmailService: LoginEmailService,
|
||||
) {
|
||||
super(
|
||||
formValidationErrorService,
|
||||
@ -95,6 +98,15 @@ export class RegisterFormComponent extends BaseRegisterComponent implements OnIn
|
||||
} else {
|
||||
this.characterMinimumMessage = this.i18nService.t("characterMinimum", this.minimumLength);
|
||||
}
|
||||
|
||||
/**
|
||||
* If the user has a login email, set the email field to the login email.
|
||||
*/
|
||||
this.loginEmailService.loginEmail$.subscribe((email) => {
|
||||
if (email) {
|
||||
this.formGroup.patchValue({ email });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async submit() {
|
||||
|
@ -383,6 +383,7 @@ export class LoginComponent implements OnInit, OnDestroy {
|
||||
onEmailBlur(event: Event) {
|
||||
const emailInput = event.target as HTMLInputElement;
|
||||
this.formGroup.controls.email.setValue(emailInput.value);
|
||||
this.loginEmailService.setLoginEmail(this.formGroup.value.email);
|
||||
}
|
||||
|
||||
protected async goToHint(): Promise<void> {
|
||||
|
@ -12,6 +12,7 @@ import {
|
||||
StateProvider,
|
||||
} from "../../../../../common/src/platform/state";
|
||||
import { LoginEmailServiceAbstraction } from "../../abstractions/login-email.service";
|
||||
import { Injectable } from "@angular/core";
|
||||
|
||||
export const LOGIN_EMAIL = new KeyDefinition<string>(LOGIN_EMAIL_MEMORY, "loginEmail", {
|
||||
deserializer: (value: string) => value,
|
||||
@ -21,6 +22,7 @@ export const STORED_EMAIL = new KeyDefinition<string>(LOGIN_EMAIL_DISK, "storedE
|
||||
deserializer: (value: string) => value,
|
||||
});
|
||||
|
||||
@Injectable()
|
||||
export class LoginEmailService implements LoginEmailServiceAbstraction {
|
||||
private rememberEmail: boolean;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user