From 88861e595cebc1f60ec9a7b257a46a6015769924 Mon Sep 17 00:00:00 2001 From: HardiReady Date: Thu, 9 Aug 2018 22:07:47 +0200 Subject: [PATCH] Implement new award showcase --- .../decoration-navigation.component.css | 28 ------ .../decoration-navigation.component.html | 28 ------ .../decoration-navigation.component.ts | 63 ------------- .../decoration-overview.component.css | 89 +++++++++++++------ .../decoration-overview.component.html | 40 +++++---- .../decoration-overview.component.ts | 19 ++-- .../decoration-panel.component.css | 12 +-- static/src/app/pub/public.module.ts | 3 +- static/src/app/pub/public.routing.ts | 3 +- .../rank-overview/rank-overview.component.css | 5 +- 10 files changed, 109 insertions(+), 181 deletions(-) delete mode 100644 static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.css delete mode 100644 static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.html delete mode 100644 static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.ts diff --git a/static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.css b/static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.css deleted file mode 100644 index e06517d..0000000 --- a/static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.css +++ /dev/null @@ -1,28 +0,0 @@ -.scroll-btn { - cursor: pointer; - float: left; -} - -.scroll-btn mat-icon { - height: 314px; - width: 63px; - color: white; -} - -.scroll-btn-placeholder { - display: block; - height: 314px; - width: 62px; -} - -.decoration-horizontal-list { - height: 314px; - width: 95%; - display: flex; - margin: 0; - padding: 0; - overflow: hidden; - float: left; - background: rgba(193, 193, 193, 0.29); - box-shadow: #666666 1px 1px 4px; -} diff --git a/static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.html b/static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.html deleted file mode 100644 index 6a2ff3b..0000000 --- a/static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.html +++ /dev/null @@ -1,28 +0,0 @@ -
-
-
-
- -
- -
- - -
- -
- -
-
-
-
diff --git a/static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.ts b/static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.ts deleted file mode 100644 index 9788a30..0000000 --- a/static/src/app/pub/decoration-overview/decoration-navigation/decoration-navigation.component.ts +++ /dev/null @@ -1,63 +0,0 @@ -import {Component, ElementRef, EventEmitter, Input, OnChanges, Output, ViewChild} from '@angular/core'; - -import {Decoration} from '../../../models/model-interfaces'; - - -@Component({ - selector: 'cc-decoration-navigation', - templateUrl: './decoration-navigation.component.html', - styleUrls: ['./decoration-navigation.component.css'] -}) -export class DecorationNavigationComponent implements OnChanges { - - @Input() decorations: Decoration[]; - - @Output() select = new EventEmitter(); - - @ViewChild('horizontalList', {read: ElementRef}) public panel: ElementRef; - - isLeftScrollVisible = false; - - isRightScrollVisible = true; - - repeater; - - ngOnChanges() { - this.isRightScrollVisible = this.decorations.length > 6; - } - - public scrollList(scrollValue: number): void { - const prevScrollLeftValue = this.panel.nativeElement.scrollLeft; - - this.panel.nativeElement.scrollLeft += scrollValue; - - const updatedScrollLeftValue = this.panel.nativeElement.scrollLeft; - - if (scrollValue < 0) { - this.isRightScrollVisible = true; - } - - if (updatedScrollLeftValue > 0) { - if (prevScrollLeftValue === updatedScrollLeftValue) { - this.isRightScrollVisible = false; - this.clearRepeater(); - } - this.isLeftScrollVisible = true; - } else { - this.isLeftScrollVisible = false; - this.clearRepeater(); - } - } - - setRepeater(value: number) { - this.repeater = setInterval(() => this.scrollList(value), 20); - } - - clearRepeater() { - clearInterval(this.repeater) - } - - selectDecoration($event) { - this.select.emit($event); - } -} diff --git a/static/src/app/pub/decoration-overview/decoration-overview.component.css b/static/src/app/pub/decoration-overview/decoration-overview.component.css index 00abeae..4674c93 100644 --- a/static/src/app/pub/decoration-overview/decoration-overview.component.css +++ b/static/src/app/pub/decoration-overview/decoration-overview.component.css @@ -1,7 +1,6 @@ :host { display: flow-root; height: 100%; - min-height: 100vh; width: 100%; margin-top: -23px; padding-top: 23px; @@ -15,44 +14,80 @@ h1 { margin-bottom: 30px; -} - -h3 { - font-weight: bolder; - background: rgba(34, 34, 34, 0.87); - padding: 4px 0; - border-radius: 7px; -} - -h1, h3 { text-align: center; } .decoration-overview-container { - max-width: 1396px; - min-width: 850px; position: relative; - margin: auto auto 25px; + margin: auto 140px 30px; } -.fraction-global { - display: inline-block; +:host /deep/ .mat-tab-header { + background-color: #222222; } -.fraction-global > h3 { - color: #222222; +:host /deep/ .mat-tab-list { + margin-left: 10%; } -.fraction-left { +:host /deep/ .mat-tab-label { + font-size: 16px; + color: #dadada; +} + +:host /deep/ .mat-tab-group.mat-primary .mat-ink-bar { + background-color: #ffd740; +} + +:host /deep/ .mat-tab-group.mat-primary .mat-tab-label:not(.mat-tab-disabled):focus { + background-color: #222222; +} + +:host /deep/ .mat-tab-body-content { + background-color: rgba(255, 255, 255, 0.35); + height: calc(100vh - 241px); + min-width: 560px; + padding: 1em 1.5em; +} + +.fraction-side-bar { float: left; - width: 50%; - padding-right: 81px; - margin-bottom: 70px; + width: 10%; + min-width: 100px; + height: calc(100vh - 188px); + background: #222222;; } -.fraction-right { - float: right; - width: 50%; - padding-left: 81px; - margin-bottom: 70px; +.fraction-side-bar > div { + text-align: center; + padding: 12px 25px; + margin-bottom: 15px; + font-size: 16px; + color: #666; + cursor: pointer; + border-top: 1px solid #666666; + border-bottom: 1px solid #666666; +} + +.fraction-side-bar > div:first-child { + margin-top: 100%; +} + +.fraction-side-bar > div.active { + background-color: #080808; + color: white; +} + +/* SCROLL BAR */ + +:host /deep/ .mat-tab-body-content::-webkit-scrollbar { + width: 12px; +} + +:host /deep/ .mat-tab-body-content::-webkit-scrollbar-track { + border-left: 1px solid #080808; +} + +:host /deep/ .mat-tab-body-content::-webkit-scrollbar-thumb { + background: #222222; } diff --git a/static/src/app/pub/decoration-overview/decoration-overview.component.html b/static/src/app/pub/decoration-overview/decoration-overview.component.html index afdbe33..5e7b72f 100644 --- a/static/src/app/pub/decoration-overview/decoration-overview.component.html +++ b/static/src/app/pub/decoration-overview/decoration-overview.component.html @@ -1,24 +1,28 @@

Übersicht über alle Auszeichnungen

-
-

{{fraction.BLUFOR}}

- - +
+
{{fraction.BLUFOR}}
+
{{fraction.OPFOR}}
+
GLOBAL
-
-

{{fraction.OPFOR}}

- - -
- -
-

Global

- - -
+ + + + + + + + + + + + + +
diff --git a/static/src/app/pub/decoration-overview/decoration-overview.component.ts b/static/src/app/pub/decoration-overview/decoration-overview.component.ts index a752a70..2c0bf72 100644 --- a/static/src/app/pub/decoration-overview/decoration-overview.component.ts +++ b/static/src/app/pub/decoration-overview/decoration-overview.component.ts @@ -15,13 +15,13 @@ import {UserListSheetComponent} from '../user-list-sheet/user-list-sheet.compone }) export class DecorationOverviewComponent implements OnInit { - decorationsBlufor: Decoration[]; + decorations: Decoration[]; - decorationsGlobal: Decoration[]; + medals: Decoration[]; - decorationsOpfor: Decoration[]; + ribbons: Decoration[]; - hasFixedTableHeader = false; + active: string; readonly fraction = Fraction; @@ -35,12 +35,17 @@ export class DecorationOverviewComponent implements OnInit { // init decoration data this.decorationService.findDecorations() .subscribe(decorations => { - this.decorationsBlufor = decorations.filter(d => d.fraction === 'BLUFOR'); - this.decorationsGlobal = decorations.filter(d => d.fraction === 'GLOBAL'); - this.decorationsOpfor = decorations.filter(d => d.fraction === 'OPFOR'); + this.decorations = decorations; + this.switchFraction('BLUFOR'); }); }; + switchFraction(value: string) { + this.medals = this.decorations.filter(d => d.fraction === value && d.isMedal); + this.ribbons = this.decorations.filter(d => d.fraction === value && !d.isMedal); + this.active = value; + } + select(decoration: Decoration) { this.bottomSheet.open(UserListSheetComponent, {data: {decoration: decoration}}); } diff --git a/static/src/app/pub/decoration-overview/decoration-panel/decoration-panel.component.css b/static/src/app/pub/decoration-overview/decoration-panel/decoration-panel.component.css index 0e00af8..e6f19a8 100644 --- a/static/src/app/pub/decoration-overview/decoration-panel/decoration-panel.component.css +++ b/static/src/app/pub/decoration-overview/decoration-panel/decoration-panel.component.css @@ -1,8 +1,8 @@ .decoration-card { background: rgba(255, 255, 255, 0.87); - width: 200px; - height: 300px; - margin: 6px; + width: 229px; + height: 258px; + margin: 7px 12px; padding: 0; overflow: hidden; float: left; @@ -26,7 +26,7 @@ } .image-head { - height: 110px; + height: 100px; text-align: center; padding: 12px; } @@ -47,8 +47,8 @@ img.img-medal { } img.img-ribbon { - padding-top: 20%; - width: 70%; + padding-top: 10%; + width: 55%; } .gradient { diff --git a/static/src/app/pub/public.module.ts b/static/src/app/pub/public.module.ts index f1f1a63..dc1c331 100644 --- a/static/src/app/pub/public.module.ts +++ b/static/src/app/pub/public.module.ts @@ -8,13 +8,14 @@ import {MatTableModule} from '@angular/material/table'; import {MatCardModule} from '@angular/material/card'; import {MatBottomSheetModule} from '@angular/material/bottom-sheet'; import {MatListModule} from '@angular/material/list'; +import {MatTabsModule} from '@angular/material/tabs'; import {UserListSheetComponent} from './user-list-sheet/user-list-sheet.component'; @NgModule({ declarations: pubRoutingComponents, entryComponents: [UserListSheetComponent], imports: [CommonModule, SharedModule, MatTableModule, MatCardModule, MatBottomSheetModule, MatListModule, - pubRouterModule], + MatTabsModule, pubRouterModule], providers: [DecorationService, RankService] }) export class PublicModule { diff --git a/static/src/app/pub/public.routing.ts b/static/src/app/pub/public.routing.ts index e8200f3..8e5837d 100644 --- a/static/src/app/pub/public.routing.ts +++ b/static/src/app/pub/public.routing.ts @@ -5,7 +5,6 @@ import {DecorationOverviewComponent} from './decoration-overview/decoration-over import {DecorationPanelComponent} from './decoration-overview/decoration-panel/decoration-panel.component'; import {RankPanelComponent} from './rank-overview/rank-panel/rank-panel.component'; import {UserListSheetComponent} from './user-list-sheet/user-list-sheet.component'; -import {DecorationNavigationComponent} from './decoration-overview/decoration-navigation/decoration-navigation.component'; export const publicRoutes: Routes = [ { @@ -26,5 +25,5 @@ export const publicRoutes: Routes = [ export const pubRouterModule: ModuleWithProviders = RouterModule.forChild(publicRoutes); export const pubRoutingComponents = [RankOverviewComponent, DecorationOverviewComponent, DecorationPanelComponent, - RankPanelComponent, UserListSheetComponent, DecorationNavigationComponent]; + RankPanelComponent, UserListSheetComponent]; diff --git a/static/src/app/pub/rank-overview/rank-overview.component.css b/static/src/app/pub/rank-overview/rank-overview.component.css index e9606e0..3c29700 100644 --- a/static/src/app/pub/rank-overview/rank-overview.component.css +++ b/static/src/app/pub/rank-overview/rank-overview.component.css @@ -37,7 +37,10 @@ h1, h3 { h3 { font-weight: bolder; - margin-bottom: 20px; + padding-bottom: 14px; + padding-top: 11px; + margin-bottom: 0; + background: #222222; } .column-container {