Newer
Older
Website / src / app / admin / admin.component.ts
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { Router } from '@angular/router';
import { AccountService } from '../account.service';

@Component({
  selector: 'app-admin',
  templateUrl: './admin.component.html',
  styleUrls: ['./admin.component.scss']
})
export class AdminComponent implements OnInit {
  public passwordForm: FormGroup
  public passwordError = false
  public username = ''

  constructor(public account: AccountService, router: Router, private formBuilder: FormBuilder) {

    this.passwordForm = this.formBuilder.group({
      password: ['', Validators.required],
      password_repeat: ['', Validators.required]
    })
    account.subscribe((username: string) => {
      if (account.username.length == 0) {
        router.navigate(['login'])
      }
      this.username = username
    })
  }

  ngOnInit(): void {
  }

  onPasswordSubmit() {
    if (this.passwordForm.invalid) {
      return
    }
    this.passwordError = this.passwordForm.controls['password'].value !=
                         this.passwordForm.controls['password_repeat'].value
    if (this.passwordError) {
      return
    }
    this.account.changePassword(this.passwordForm.controls['password'].value, () => {
      this.passwordForm.reset()
    }, () => {})
  }
}