2022-05-08 19:52:08 +02:00

53 lines
1.3 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { AuthService } from '../../Services/auth.service';
@Component({
selector: 'app-register',
templateUrl: './register.component.html',
styleUrls: ['./register.component.scss'],
})
export class RegisterComponent {
form: any = {
email: null,
password: null,
passwordRepeat: null,
username: null,
};
isSuccessful = false;
isSignUpFailed = false;
errorMessage = '';
checkPasswordFailed = false;
/**
* @param {AuthService} privateauthService
* @param {Router} privaterouter
*/
constructor(private authService: AuthService, private router: Router) {}
/**
* On submit, send user information to backend
*/
onSubmit(): void {
// validate that passwords match
if (this.form.password === this.form.passwordRepeat) {
this.checkPasswordFailed = false;
const { email, username, password } = this.form;
this.authService.register(email, username, password).subscribe(
(data) => {
this.isSuccessful = true;
this.isSignUpFailed = false;
this.router.navigate(['/login']);
},
(err) => {
this.errorMessage = err.error.message;
this.isSignUpFailed = true;
}
);
} else {
this.checkPasswordFailed = true;
}
}
}