From 396b7786eb5c4f6ca29b583a357a86adc1daf834 Mon Sep 17 00:00:00 2001 From: Lurkars Date: Sat, 20 Mar 2021 11:12:53 +0100 Subject: [PATCH] update registration + profile --- .../pages/register/register.component.html | 30 +++++++++++-------- .../pages/register/register.component.scss | 4 +++ src/app/pages/register/register.component.ts | 16 +++++++--- .../ui/profilefields/profilefield.dialog.html | 6 +++- .../ui/profilefields/profilefield.dialog.scss | 4 +++ .../profilefields.component.html | 2 ++ 6 files changed, 44 insertions(+), 18 deletions(-) diff --git a/src/app/pages/register/register.component.html b/src/app/pages/register/register.component.html index b75a0e2..e870fb0 100644 --- a/src/app/pages/register/register.component.html +++ b/src/app/pages/register/register.component.html @@ -7,7 +7,7 @@ + [(ngModel)]="model.username" required> {{'username.error' | i18n}} @@ -15,19 +15,9 @@ autorenew - - - - {{'email.invalid' | i18n}} - - - - {{'email.primary' | i18n}} - + [(ngModel)]="model.password" required>
{{'password.error.' + error.key | i18n}}
@@ -36,12 +26,26 @@ + [(ngModel)]="model.password2" required> {{'password.not-match' | i18n}} + + {{'email.primary' | i18n}} info + + + + + + {{'email.invalid' | i18n}} + + + plus_one diff --git a/src/app/pages/register/register.component.scss b/src/app/pages/register/register.component.scss index 720774d..fac5333 100644 --- a/src/app/pages/register/register.component.scss +++ b/src/app/pages/register/register.component.scss @@ -1,3 +1,7 @@ mat-form-field { display: block; +} + +mat-hint { + white-space: normal; } \ No newline at end of file diff --git a/src/app/pages/register/register.component.ts b/src/app/pages/register/register.component.ts index f9540f4..cf4bbab 100644 --- a/src/app/pages/register/register.component.ts +++ b/src/app/pages/register/register.component.ts @@ -46,7 +46,7 @@ export class RegisterComponent implements OnInit { username: ['', Validators.required], email: ['', Validators.email], primaryEmail: [false, Validators.nullValidator], - password: ['', Validators.required], + password: ['', Validators.nullValidator], password2: ['', Validators.required] }, { validator: MatchingValidator('password', 'password2') @@ -57,6 +57,16 @@ export class RegisterComponent implements OnInit { }); } + onPrimaryChange() { + let mailControl = this.form.get('email'); + mailControl.clearAsyncValidators(); + mailControl.clearValidators(); + if(this.model.primaryEmail) { + mailControl.setValidators([Validators.email, Validators.required]); + } + mailControl.updateValueAndValidity(); + } + genUsername() { const config: Config = { @@ -87,10 +97,8 @@ export class RegisterComponent implements OnInit { {"name": "publicKey", "type": "BLOB", "visibility": "PROTECTED", "blob": pubKey} ] - if(this.model.email) { - this.model.profileFields.push({"name": "email", "type": "EMAIL", "visibility": "PRIVATE", "value": this.model.email}); - } if(this.model.primaryEmail) { + this.model.profileFields.push({"name": "email", "type": "EMAIL", "visibility": "PRIVATE", "value": this.model.email}); this.model.profileFields.push({"name": "primaryEmail", "type": "BOOL", "visibility": "PRIVATE", "value": this.model.primaryEmail}); } diff --git a/src/app/ui/profilefields/profilefield.dialog.html b/src/app/ui/profilefields/profilefield.dialog.html index 96e4ce9..5c57ed0 100644 --- a/src/app/ui/profilefields/profilefield.dialog.html +++ b/src/app/ui/profilefields/profilefield.dialog.html @@ -34,6 +34,9 @@ + + {{'profileField.value' | i18n}} + @@ -62,5 +65,6 @@ - + \ No newline at end of file diff --git a/src/app/ui/profilefields/profilefield.dialog.scss b/src/app/ui/profilefields/profilefield.dialog.scss index 720774d..03bec19 100644 --- a/src/app/ui/profilefields/profilefield.dialog.scss +++ b/src/app/ui/profilefields/profilefield.dialog.scss @@ -1,3 +1,7 @@ mat-form-field { display: block; +} + +mat-slide-toggle { + margin-bottom: 24px; } \ No newline at end of file diff --git a/src/app/ui/profilefields/profilefields.component.html b/src/app/ui/profilefields/profilefields.component.html index b4dab05..67d9f4b 100644 --- a/src/app/ui/profilefields/profilefields.component.html +++ b/src/app/ui/profilefields/profilefields.component.html @@ -17,6 +17,8 @@ {{profileField.value}} + +