diff --git a/src/app/styles/account-menu.css b/src/app/account-menu.component.css
similarity index 100%
rename from src/app/styles/account-menu.css
rename to src/app/account-menu.component.css
diff --git a/src/app/components/account-menu.ts b/src/app/account-menu.component.ts
similarity index 94%
rename from src/app/components/account-menu.ts
rename to src/app/account-menu.component.ts
index 544b8e0..647fa26 100644
--- a/src/app/components/account-menu.ts
+++ b/src/app/account-menu.component.ts
@@ -2,7 +2,7 @@ import { Component, Input, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'account-menu',
- styleUrls: ['../styles/account-menu.css'],
+ styleUrls: ['./account-menu.component.css'],
template: `

diff --git a/src/app/services/data-repository.ts b/src/app/services/data-repository.service.ts
similarity index 98%
rename from src/app/services/data-repository.ts
rename to src/app/services/data-repository.service.ts
index c586294..d2607a2 100644
--- a/src/app/services/data-repository.ts
+++ b/src/app/services/data-repository.service.ts
@@ -2,8 +2,8 @@ import { Injectable } from '@angular/core';
import { Observable, Subject, EMPTY, throwError, timer } from 'rxjs';
-import { IUser } from '../services/user.model';
-import { IClass, ICourse } from '../services/class.model';
+import { IUser } from '../users/user.model';
+import { IClass, ICourse } from '../catalog/class.model';
@Injectable()
export class DataRepositoryService {
diff --git a/src/app/styles/register.css b/src/app/users/register.component.css
similarity index 100%
rename from src/app/styles/register.css
rename to src/app/users/register.component.css
diff --git a/src/app/templates/register.html b/src/app/users/register.component.html
similarity index 100%
rename from src/app/templates/register.html
rename to src/app/users/register.component.html
diff --git a/src/app/users/register.component.ts b/src/app/users/register.component.ts
new file mode 100644
index 0000000..c1dd537
--- /dev/null
+++ b/src/app/users/register.component.ts
@@ -0,0 +1,50 @@
+import { Component } from '@angular/core';
+import { FormControl, FormGroup, Validators } from '@angular/forms';
+import { Router } from '@angular/router'
+
+import { DataRepositoryService } from '../services/data-repository.service'
+import { IUser } from './user.model';
+
+
+
+@Component({
+ styleUrls: ['./register.component.css'],
+ templateUrl: './register.component.html'
+})
+
+export class RegisterComponent {
+ registerForm: FormGroup;
+ firstName: FormControl;
+ lastName: FormControl;
+ email: FormControl;
+ password: FormControl;
+ saving: boolean = false;
+
+ constructor(private router: Router, private dataRepository: DataRepositoryService) {
+ this.firstName = new FormControl('', Validators.required);
+ this.lastName = new FormControl('', Validators.required);
+ this.email = new FormControl('', Validators.required);
+ this.password = new FormControl('', Validators.required);
+
+ this.registerForm = new FormGroup({
+ firstName: this.firstName,
+ lastName: this.lastName,
+ email: this.email,
+ password: this.password
+ });
+ }
+
+
+ registerUser(user: IUser) {
+ this.saving = true;
+ this.dataRepository.saveUser(user)
+ .subscribe({
+ error: () => this.saving = false,
+ complete: () => this.router.navigate(['/catalog'])
+ });
+ }
+
+ cancel() {
+ this.router.navigate(['/']);
+ }
+}
diff --git a/src/app/components/sign-in.ts b/src/app/users/sign-in.component.ts
similarity index 69%
rename from src/app/components/sign-in.ts
rename to src/app/users/sign-in.component.ts
index 262197e..58364cd 100644
--- a/src/app/components/sign-in.ts
+++ b/src/app/users/sign-in.component.ts
@@ -1,9 +1,7 @@
import { Component } from '@angular/core';
-import { FormControl, FormGroup, Validators } from '@angular/forms';
import { Router } from '@angular/router'
+import { DataRepositoryService } from '../services/data-repository.service'
-import { DataRepositoryService } from '../services/data-repository'
-import { IUser } from '../services/user.model';
@Component({
styles: [`
@@ -93,44 +91,3 @@ export class SignInComponent {
}
}
-@Component({
- styleUrls: ['../styles/register.css'],
- templateUrl: '../templates/register.html'
-})
-
-export class RegisterComponent {
- registerForm: FormGroup;
- firstName: FormControl;
- lastName: FormControl;
- email: FormControl;
- password: FormControl;
- saving: boolean = false;
-
- constructor(private router: Router, private dataRepository: DataRepositoryService) {
- this.firstName = new FormControl('', Validators.required);
- this.lastName = new FormControl('', Validators.required);
- this.email = new FormControl('', Validators.required);
- this.password = new FormControl('', Validators.required);
-
- this.registerForm = new FormGroup({
- firstName: this.firstName,
- lastName: this.lastName,
- email: this.email,
- password: this.password
- });
- }
-
-
- registerUser(user: IUser) {
- this.saving = true;
- this.dataRepository.saveUser(user)
- .subscribe({
- error: () => this.saving = false,
- complete: () => this.router.navigate(['/catalog'])
- });
- }
-
- cancel() {
- this.router.navigate(['/']);
- }
-}
diff --git a/src/app/services/user.model.ts b/src/app/users/user.model.ts
similarity index 100%
rename from src/app/services/user.model.ts
rename to src/app/users/user.model.ts