diff --git a/src/app/app.component.html b/src/app/app.component.html
index 89e1eca..281de12 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -1,5 +1,4 @@
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts
index dc39edb..9dd2521 100644
--- a/src/app/app.routes.ts
+++ b/src/app/app.routes.ts
@@ -1,3 +1,18 @@
import { Routes } from '@angular/router';
+import { ScreenBasicComponent } from './screen-basic/screen-basic.component';
+import { ScreenEditComponent } from './screen-edit/screen-edit.component';
+import { ScreenRotationsComponent } from './screen-rotations/screen-rotations.component';
+import { AppComponent } from './app.component';
-export const routes: Routes = [];
+export const routes: Routes = [
+ {
+ path: '',
+ component: AppComponent,
+ children: [
+ { path: '', redirectTo: 'edit', pathMatch: 'full' },
+ { path: 'edit', component: ScreenEditComponent },
+ { path: 'basic', component: ScreenBasicComponent },
+ { path: 'rotations', component: ScreenRotationsComponent }
+ ]
+ }
+];
diff --git a/src/app/data.service.spec.ts b/src/app/data.service.spec.ts
new file mode 100644
index 0000000..38e8d9e
--- /dev/null
+++ b/src/app/data.service.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed } from '@angular/core/testing';
+
+import { DataService } from './data.service';
+
+describe('DataService', () => {
+ let service: DataService;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(DataService);
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/src/app/data.service.ts b/src/app/data.service.ts
new file mode 100644
index 0000000..b2d1f7a
--- /dev/null
+++ b/src/app/data.service.ts
@@ -0,0 +1,25 @@
+import { Injectable } from '@angular/core';
+import { Player } from './model';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class DataService {
+ private players: Player[] = [];
+
+ setPlayers(players: Player[]){
+ this.players = players;
+ }
+
+ addPlayer(player: Player): boolean{
+ if (Player.isNew(player, this.players)){
+ this.players.push(player);
+ return true
+ }
+ return false
+ }
+ getPlayers(): Player[] {
+ let clone =Object.assign([],this.players);
+ return clone
+ }
+}
diff --git a/src/app/screen-basic/screen-basic.component.ts b/src/app/screen-basic/screen-basic.component.ts
index 46fc6d7..9b2a70a 100644
--- a/src/app/screen-basic/screen-basic.component.ts
+++ b/src/app/screen-basic/screen-basic.component.ts
@@ -1,11 +1,12 @@
// Original Team Generation Screen for arbitrary size and number of teams
-import { Component, Input, OnInit} from '@angular/core';
+import { Component, inject, Input, OnInit} from '@angular/core';
import { FormsModule } from '@angular/forms';
import { RouterOutlet, ActivatedRoute } from '@angular/router';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { CommonModule } from '@angular/common';
import { Player } from '../model';
import { iter } from '../util';
+import { DataService } from '../data.service';
@Component({
selector: 'app-screen-basic',
@@ -14,7 +15,7 @@ import { iter } from '../util';
styleUrl: './screen-basic.component.less'
})
export class ScreenBasicComponent {
- @Input() players!: Player[];
+ data = inject(DataService);
numTeamsSelectorValue = "2";
numTeamsSelected = 2;
nTeamsValue = "4";
@@ -30,7 +31,7 @@ export class ScreenBasicComponent {
let teams = Array.from({ length: this.numTeamsSelected }, () => []);
// clone array here
- let localPlayers: Player[] = Object.assign([],this.players);
+ let localPlayers: Player[] = this.data.getPlayers();
let nameslen = localPlayers.length;
let iterator = iter(teams);
diff --git a/src/app/screen-edit/screen-edit.component.html b/src/app/screen-edit/screen-edit.component.html
index 0d26edb..8913ac5 100644
--- a/src/app/screen-edit/screen-edit.component.html
+++ b/src/app/screen-edit/screen-edit.component.html
@@ -1,5 +1,5 @@
-
Players: {{ players.length }}
+
Players: {{ data.getPlayers().length }}