import { ActivatedRoute } from '@angular/router'
import { AuthService, Notifier, RedirectService, UserService } from '@app/core'
import { HooksService } from '@app/core/plugins/hooks.service'
-import { FormReactive, FormValidatorService, LoginValidatorsService } from '@app/shared/shared-forms'
-import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'
+import { InstanceAboutAccordionComponent } from '@app/shared/shared-instance'
+import { LOGIN_PASSWORD_VALIDATOR, LOGIN_USERNAME_VALIDATOR } from '@app/shared/form-validators/login-validators'
+import { FormReactive, FormValidatorService } from '@app/shared/shared-forms'
+import { NgbAccordion, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'
import { RegisteredExternalAuthConfig, ServerConfig } from '@shared/models'
@Component({
@ViewChild('usernameInput', { static: false }) usernameInput: ElementRef
@ViewChild('forgotPasswordModal', { static: true }) forgotPasswordModal: ElementRef
+ accordion: NgbAccordion
error: string = null
forgotPasswordEmail = ''
externalAuthError = false
externalLogins: string[] = []
+ instanceInformationPanels = {
+ terms: true,
+ administrators: false,
+ features: false,
+ moderation: false,
+ codeOfConduct: false
+ }
+
private openedForgotPasswordModal: NgbModalRef
private serverConfig: ServerConfig
protected formValidatorService: FormValidatorService,
private route: ActivatedRoute,
private modalService: NgbModal,
- private loginValidatorsService: LoginValidatorsService,
private authService: AuthService,
private userService: UserService,
private redirectService: RedirectService,
return this.serverConfig.signup.allowed === true
}
+ onTermsClick (event: Event, instanceInformation: HTMLElement) {
+ event.preventDefault()
+
+ if (this.accordion) {
+ this.accordion.expand('terms')
+ instanceInformation.scrollIntoView({ behavior: 'smooth' })
+ }
+ }
+
isEmailDisabled () {
return this.serverConfig.email.enabled === false
}
}
this.buildForm({
- username: this.loginValidatorsService.LOGIN_USERNAME,
- password: this.loginValidatorsService.LOGIN_PASSWORD
+ username: LOGIN_USERNAME_VALIDATOR,
+ password: LOGIN_PASSWORD_VALIDATOR
})
}
this.openedForgotPasswordModal.close()
}
+ onInstanceAboutAccordionInit (instanceAboutAccordion: InstanceAboutAccordionComponent) {
+ this.accordion = instanceAboutAccordion.accordion
+ }
+
private loadExternalAuthToken (username: string, token: string) {
this.isAuthenticatedWithExternalAuth = true