SES-116 Create icons provider and show them on gm screen #45

Merged
s426128 merged 9 commits from SES-116 into dev 2020-12-30 12:19:56 +01:00
16 changed files with 125 additions and 61 deletions
Showing only changes of commit 3c52e2d65d - Show all commits

View File

@ -1,6 +1,6 @@
<div [formGroup]="signUpFormGroup" class="container"> <div [formGroup]="signUpFormGroup" class="container">
<div formGroupName="newAccount" class="container"> <div formGroupName="newAccount" class="container">
<mat-icon matSuffix class="arrow-back" (click)="GoToLoginPage()">arrow_back</mat-icon> <mat-icon matSuffix class="arrow-back arrow-select" (click)="GoToLoginPage()">arrow_back</mat-icon>
<div class="primary-text header">Create an Account</div> <div class="primary-text header">Create an Account</div>
<mat-form-field class="form-container"> <mat-form-field class="form-container">

View File

@ -47,10 +47,6 @@ input {
font-size: 20px; font-size: 20px;
} }
.align-to-right {
text-align: right;
}
@media (max-width: 400px) { @media (max-width: 400px) {
.container { .container {
margin-left: 0%; margin-left: 0%;

View File

@ -1,21 +1,15 @@
<div class="container"> <div class="container">
<mat-icon matSuffix class="arrow-back" (click)="onArrowBackClick()">arrow_back</mat-icon> <mat-icon matSuffix class="arrow-back arrow-select" (click)="onArrowBackClick()">arrow_back</mat-icon>
<div class="primary-text header">Select character</div> <div class="primary-text header">Select character</div>
<mat-list > <mat-list>
<mat-divider></mat-divider> <mat-divider></mat-divider>
<mat-list-item> Oweja <mat-list-item *ngFor="let character of charactersList">
<mat-icon matSuffix class="arrow-forward align-to-right" (click)="onCharacterClick()">arrow_forward</mat-icon> <mat-icon mat-list-icon>account_circle</mat-icon>
<div mat-line>{{character.name}}</div>
<mat-icon matSuffix class="arrow-forward arrow-select" (click)="onCharacterClick(character.id)">arrow_forward</mat-icon>
<div mat-line> {{character.className}} level: {{character.level}}</div>
<mat-divider></mat-divider>
</mat-list-item> </mat-list-item>
<mat-divider></mat-divider> </mat-list>
<mat-list-item> James
<mat-icon matSuffix class="arrow-forward align-to-right" (click)="onCharacterClick()">arrow_forward</mat-icon>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item> Legolas
<mat-icon matSuffix class="arrow-forward align-to-right" (click)="onCharacterClick()">arrow_forward</mat-icon>
</mat-list-item>
<mat-divider></mat-divider>
</mat-list>
</div> </div>

View File

@ -1,30 +1,49 @@
import { Component } from '@angular/core'; import {Component, OnInit} from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import {first} from 'rxjs/operators';
import {ClearUserId} from '../../store/actions/app.actions';
import {ErrorResponse} from '../../../types/ErrorResponse';
import {HttpErrorResponse} from '@angular/common/http';
import {Store} from '@ngrx/store';
import {AppState} from '../../store/models/app-state.model';
import {CharacterService} from '../../../services/character.service';
import {CharacterForLoginViewModel} from '../../../types/viewmodels/character-viewmodels/CharacterForLoginViewModel';
import {AddCharacterId} from '../../store/actions/player.action';
@Component({ @Component({
selector: 'app-select-character', selector: 'app-select-character',
templateUrl: './select-character.component.html', templateUrl: './select-character.component.html',
styleUrls: ['./select-character.component.css'] styleUrls: ['./select-character.component.css']
}) })
export class SelectCharacterComponent { export class SelectCharacterComponent implements OnInit {
isExpanded = false; charactersList: CharacterForLoginViewModel[];
collapse() { constructor(private router: Router, private store: Store<AppState>, private characterService: CharacterService) {}
this.isExpanded = false;
ngOnInit() {
this.getUserCharactersList();
} }
toggle() { getUserCharactersList() {
this.isExpanded = !this.isExpanded; this.store.select(s => s.appStore.userId).pipe(first()).subscribe((userId) => {
this.characterService.getUserCharactersList(userId).pipe(first()).subscribe((charactersList) => {
this.charactersList = charactersList;
}, (error: ErrorResponse | HttpErrorResponse) => {
if (error instanceof HttpErrorResponse) {
error = error.error as ErrorResponse;
}
console.error(error.message);
} );
});
} }
constructor(private router: Router) {} onCharacterClick(characterId: number) {
this.store.dispatch(new AddCharacterId({characterId}));
onCharacterClick(){ this.router.navigate(['player']);
this.router.navigate(['player'])
} }
onArrowBackClick(){ onArrowBackClick() {
this.router.navigate(['login']) this.store.dispatch(new ClearUserId());
this.router.navigate(['login']);
} }
} }

View File

@ -1,6 +1,6 @@
<div [formGroup]="signInFormGroup" class="container"> <div [formGroup]="signInFormGroup" class="container">
<div formGroupName="signIn" class="container"> <div formGroupName="signIn" class="container">
<mat-icon matSuffix class="arrow-back" (click)="onArrowBackClick()">arrow_back</mat-icon> <mat-icon matSuffix class="arrow-back arrow-select" (click)="onArrowBackClick()">arrow_back</mat-icon>
<div id="SignInText" class="primary-text header">Sign In</div> <div id="SignInText" class="primary-text header">Sign In</div>
<mat-form-field class="form-container"> <mat-form-field class="form-container">