From 543bc41f3f95185d3afebd32c84fe526609e2366 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20G=C3=B3reczny?= Date: Fri, 1 Jan 2021 22:14:01 +0100 Subject: [PATCH] Added base for ability cards --- .../ClientApp/src/app/app.module.ts | 2 ++ .../ability-card/ability-card.component.css | 11 ++++++++ .../ability-card/ability-card.component.html | 19 ++++++++++++++ .../ability-card.component.spec.ts | 25 +++++++++++++++++++ .../ability-card/ability-card.component.ts | 15 +++++++++++ .../player-dashboard.component.html | 5 ++++ .../player-dashboard.component.ts | 15 +++++++++-- .../src/assets/icons/sc-icon.model.ts | 2 +- .../ability-viewmodels/AbilityViewModel.ts | 11 ++++++++ .../ability-viewmodels/SkillViewModel.ts | 5 ++++ 10 files changed, 107 insertions(+), 3 deletions(-) create mode 100644 SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.css create mode 100644 SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.html create mode 100644 SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.spec.ts create mode 100644 SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.ts create mode 100644 SessionCompanion/SessionCompanion/ClientApp/src/types/viewmodels/ability-viewmodels/AbilityViewModel.ts create mode 100644 SessionCompanion/SessionCompanion/ClientApp/src/types/viewmodels/ability-viewmodels/SkillViewModel.ts diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/app.module.ts b/SessionCompanion/SessionCompanion/ClientApp/src/app/app.module.ts index 29d4a9b..d829109 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/app/app.module.ts +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/app.module.ts @@ -26,6 +26,7 @@ import { StoreDevtoolsModule } from '@ngrx/store-devtools'; import {environment} from '../environments/environment'; import {reducers} from './store/models/app-state.model'; import {CharacterService} from '../services/character.service'; +import { AbilityCardComponent } from './components/ability-card/ability-card.component'; @NgModule({ declarations: [ @@ -36,6 +37,7 @@ import {CharacterService} from '../services/character.service'; GameMasterDashboardComponent, PlayerDashboardComponent, SelectCharacterComponent, + AbilityCardComponent, ], imports: [ BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }), diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.css b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.css new file mode 100644 index 0000000..9f85d1b --- /dev/null +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.css @@ -0,0 +1,11 @@ +#main{ + width: 480px; + height: 480px; +} +#main>.mat-card{ + padding: 0px; +} +.diagonal-line{ + width:100px; + background:linear-gradient(45deg,#ffffff 49%,#aaa 50%,#ffffff 51%); +} diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.html b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.html new file mode 100644 index 0000000..5daac83 --- /dev/null +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.html @@ -0,0 +1,19 @@ +
+ + + {{ability.value}} +
+ {{ability.modification}} +
+ {{ability.name}} +
+
+ {{ability.savingthrows}} +
+
+ + + + +
+
diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.spec.ts b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.spec.ts new file mode 100644 index 0000000..f8de036 --- /dev/null +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AbilityCardComponent } from './ability-card.component'; + +describe('StatisticCardComponent', () => { + let component: AbilityCardComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AbilityCardComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AbilityCardComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.ts b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.ts new file mode 100644 index 0000000..2f8e4f5 --- /dev/null +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.ts @@ -0,0 +1,15 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { AbilityViewModel } from '../../../types/viewmodels/ability-viewmodels/AbilityViewModel'; + +@Component({ + selector: 'app-ability-card', + templateUrl: './ability-card.component.html', + styleUrls: ['./ability-card.component.css'], +}) +export class AbilityCardComponent implements OnInit { + @Input() ability: AbilityViewModel; + + constructor() {} + + ngOnInit() {} +} diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.html b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.html index e69de29..a9dd20f 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.html +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.html @@ -0,0 +1,5 @@ +

+

+

+

+ diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.ts b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.ts index 9ed3789..2c99938 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.ts +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.ts @@ -1,13 +1,24 @@ -import { Component } from '@angular/core'; +import { Component, OnInit } from '@angular/core'; +import { AbilityViewModel } from '../../../types/viewmodels/ability-viewmodels/AbilityViewModel'; @Component({ selector: 'app-player-dashboard', templateUrl: './player-dashboard.component.html', - styleUrls: ['./player-dashboard.component.css'] + styleUrls: ['./player-dashboard.component.css'], }) export class PlayerDashboardComponent { isExpanded = false; + test: AbilityViewModel = { + id: 1, + name: 'Dexterity', + value: 20, + modification: 3, + savingthrows: 1, + canSaveThrows: false, + skills: [], + }; + collapse() { this.isExpanded = false; } diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/assets/icons/sc-icon.model.ts b/SessionCompanion/SessionCompanion/ClientApp/src/assets/icons/sc-icon.model.ts index e3537d1..3faceea 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/assets/icons/sc-icon.model.ts +++ b/SessionCompanion/SessionCompanion/ClientApp/src/assets/icons/sc-icon.model.ts @@ -10,5 +10,5 @@ export enum scIcon { rogue = 'rogue', Sorcerer = 'sorcerer', Warlock = 'warlock', - Wizard = 'wizard' + Wizard = 'wizard', } diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/types/viewmodels/ability-viewmodels/AbilityViewModel.ts b/SessionCompanion/SessionCompanion/ClientApp/src/types/viewmodels/ability-viewmodels/AbilityViewModel.ts new file mode 100644 index 0000000..1ca9248 --- /dev/null +++ b/SessionCompanion/SessionCompanion/ClientApp/src/types/viewmodels/ability-viewmodels/AbilityViewModel.ts @@ -0,0 +1,11 @@ +import {SkillViewModel} from './SkillViewModel'; + +export interface AbilityViewModel { + id: number; + name: string; + value: number; + modification: number; + savingthrows: number; + canSaveThrows: boolean; + skills: SkillViewModel[]; +} diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/types/viewmodels/ability-viewmodels/SkillViewModel.ts b/SessionCompanion/SessionCompanion/ClientApp/src/types/viewmodels/ability-viewmodels/SkillViewModel.ts new file mode 100644 index 0000000..94418d4 --- /dev/null +++ b/SessionCompanion/SessionCompanion/ClientApp/src/types/viewmodels/ability-viewmodels/SkillViewModel.ts @@ -0,0 +1,5 @@ +export interface SkillViewModel { + name: string; + value: number; + can: boolean; +}