X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2F%2Bsignup%2F%2Bregister%2Fregister.component.ts;h=8e89bb01a25d66692c9ff28c602f12e61400b7d2;hb=f22e0e2c19b06edfc85429198f9e54a075f71ad3;hp=153a6d2b580ea57f0fd7811783038729b9b6810e;hpb=66357162f8e1227495f09bd4f68446aad7071c6d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/+signup/+register/register.component.ts b/client/src/app/+signup/+register/register.component.ts index 153a6d2b5..8e89bb01a 100644 --- a/client/src/app/+signup/+register/register.component.ts +++ b/client/src/app/+signup/+register/register.component.ts @@ -1,12 +1,12 @@ -import { Component, OnInit, ViewChild } from '@angular/core' +import { Component, OnInit } from '@angular/core' import { FormGroup } from '@angular/forms' import { ActivatedRoute } from '@angular/router' -import { AuthService, Notifier, UserService } from '@app/core' +import { AuthService, UserService } from '@app/core' import { HooksService } from '@app/core/plugins/hooks.service' -import { InstanceService } from '@app/shared/shared-instance' import { NgbAccordion } from '@ng-bootstrap/ng-bootstrap' import { UserRegister } from '@shared/models' -import { About, ServerConfig } from '@shared/models/server' +import { ServerConfig } from '@shared/models/server' +import { InstanceAboutAccordionComponent } from '@app/shared/shared-instance' @Component({ selector: 'my-register', @@ -14,33 +14,40 @@ import { About, ServerConfig } from '@shared/models/server' styleUrls: [ './register.component.scss' ] }) export class RegisterComponent implements OnInit { - @ViewChild('accordion', { static: true }) accordion: NgbAccordion - + accordion: NgbAccordion info: string = null error: string = null success: string = null signupDone = false - about: About - aboutHtml = { - description: '', - terms: '', - codeOfConduct: '', - moderationInformation: '', - administrator: '' - } + videoUploadDisabled: boolean + formStepTerms: FormGroup formStepUser: FormGroup formStepChannel: FormGroup + aboutHtml = { + codeOfConduct: '' + } + + instanceInformationPanels = { + codeOfConduct: true, + terms: true, + administrators: false, + features: false, + moderation: false + } + + defaultPreviousStepButtonLabel = $localize`:Button on the registration form to go to the previous step:Back` + defaultNextStepButtonLabel = $localize`:Button on the registration form to go to the previous step:Next` + stepUserButtonLabel = this.defaultNextStepButtonLabel + private serverConfig: ServerConfig constructor ( private route: ActivatedRoute, private authService: AuthService, - private notifier: Notifier, private userService: UserService, - private instanceService: InstanceService, private hooks: HooksService ) { } @@ -52,18 +59,13 @@ export class RegisterComponent implements OnInit { ngOnInit (): void { this.serverConfig = this.route.snapshot.data.serverConfig - this.instanceService.getAbout() - .subscribe( - async about => { - this.about = about - - this.aboutHtml = await this.instanceService.buildHtml(about) - }, - - err => this.notifier.error(err.message) - ) + this.videoUploadDisabled = this.serverConfig.user.videoQuota === 0 + this.stepUserButtonLabel = this.videoUploadDisabled + ? $localize`:Button on the registration form to finalize the account and channel creation:Signup` + : this.defaultNextStepButtonLabel this.hooks.runAction('action:signup.register.init', 'signup') + } hasSameChannelAndAccountNames () { @@ -82,6 +84,10 @@ export class RegisterComponent implements OnInit { return this.formStepChannel.value['name'] } + onTermsFormBuilt (form: FormGroup) { + this.formStepTerms = form + } + onUserFormBuilt (form: FormGroup) { this.formStepUser = form } @@ -98,11 +104,16 @@ export class RegisterComponent implements OnInit { if (this.accordion) this.accordion.toggle('code-of-conduct') } + onInstanceAboutAccordionInit (instanceAboutAccordion: InstanceAboutAccordionComponent) { + this.accordion = instanceAboutAccordion.accordion + this.aboutHtml = instanceAboutAccordion.aboutHtml + } + async signup () { this.error = null const body: UserRegister = await this.hooks.wrapObject( - Object.assign(this.formStepUser.value, { channel: this.formStepChannel.value }), + Object.assign(this.formStepUser.value, { channel: this.videoUploadDisabled ? undefined : this.formStepChannel.value }), 'signup', 'filter:api.signup.registration.create.params' )