From 421d935d256db5b77a652d8da0c9a38cb57147ba Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 27 Aug 2019 17:09:43 +0200 Subject: Add about information in registration page --- .../app/+signup/+register/register.component.ts | 40 ++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) (limited to 'client/src/app/+signup/+register/register.component.ts') diff --git a/client/src/app/+signup/+register/register.component.ts b/client/src/app/+signup/+register/register.component.ts index cd6059728..d470ef4dc 100644 --- a/client/src/app/+signup/+register/register.component.ts +++ b/client/src/app/+signup/+register/register.component.ts @@ -1,21 +1,35 @@ -import { Component } from '@angular/core' +import { Component, OnInit, ViewChild } from '@angular/core' import { AuthService, Notifier, RedirectService, ServerService } from '@app/core' import { UserService, UserValidatorsService } from '@app/shared' import { I18n } from '@ngx-translate/i18n-polyfill' import { UserRegister } from '@shared/models/users/user-register.model' import { FormGroup } from '@angular/forms' +import { About } from '@shared/models/server' +import { InstanceService } from '@app/shared/instance/instance.service' +import { NgbAccordion } from '@ng-bootstrap/ng-bootstrap' @Component({ selector: 'my-register', templateUrl: './register.component.html', styleUrls: [ './register.component.scss' ] }) -export class RegisterComponent { +export class RegisterComponent implements OnInit { + @ViewChild('accordion', { static: true }) accordion: NgbAccordion + info: string = null error: string = null success: string = null signupDone = false + about: About + aboutHtml = { + description: '', + terms: '', + codeOfConduct: '', + moderationInformation: '', + administrator: '' + } + formStepUser: FormGroup formStepChannel: FormGroup @@ -26,6 +40,7 @@ export class RegisterComponent { private userService: UserService, private serverService: ServerService, private redirectService: RedirectService, + private instanceService: InstanceService, private i18n: I18n ) { } @@ -34,6 +49,19 @@ export class RegisterComponent { return this.serverService.getConfig().signup.requiresEmailVerification } + ngOnInit (): void { + this.instanceService.getAbout() + .subscribe( + async about => { + this.about = about + + this.aboutHtml = await this.instanceService.buildHtml(about) + }, + + err => this.notifier.error(err.message) + ) + } + hasSameChannelAndAccountNames () { return this.getUsername() === this.getChannelName() } @@ -58,6 +86,14 @@ export class RegisterComponent { this.formStepChannel = form } + onTermsClick () { + if (this.accordion) this.accordion.toggle('terms') + } + + onCodeOfConductClick () { + if (this.accordion) this.accordion.toggle('code-of-conduct') + } + signup () { this.error = null -- cgit v1.2.3