From df6abd39aaa966052d93d943790b18352cf1b642 Mon Sep 17 00:00:00 2001 From: hardi Date: Mon, 25 Feb 2019 14:32:29 +0100 Subject: [PATCH] Release v1.9.3 - navigation rework (#56) --- package-lock.json | 2 +- package.json | 2 +- server/package-lock.json | 28 +-- static/angular.json | 7 +- static/package-lock.json | 42 ++-- static/package.json | 5 +- static/src/app/admin/admin.component.scss | 1 + static/src/app/admin/admin.component.ts | 2 +- .../edit-app-user.component.scss | 2 + .../edit-app-user/edit-app-user.component.ts | 2 +- .../user-list/app-user-item.component.scss} | 2 + .../user-list/app-user-item.component.ts | 2 +- .../user-list/app-user-list.component.css | 0 .../user-list/app-user-list.component.scss | 1 + .../user-list/app-user-list.component.ts | 2 +- static/src/app/app.component.html | 182 ++++-------------- static/src/app/app.component.scss | 73 +------ static/src/app/app.component.ts | 63 ++---- static/src/app/app.config.ts | 14 +- static/src/app/app.module.ts | 10 +- static/src/app/app.routing.ts | 5 +- ...mponent.css => army-member.component.scss} | 15 +- .../army/army-member/army-member.component.ts | 6 +- ...omponent.css => army-squad.component.scss} | 0 .../army/army-squad/army-squad.component.ts | 2 +- static/src/app/army/army.component.css | 37 ---- static/src/app/army/army.component.scss | 24 +++ static/src/app/army/army.component.ts | 2 +- .../navigation-header.component.html | 148 ++++++++++++++ .../navigation-header.component.scss | 73 +++++++ .../navigation/navigation-header.component.ts | 68 +++++++ .../navigation/sidenav-list.component.html | 133 +++++++++++++ .../navigation/sidenav-list.component.scss | 29 +++ .../navigation/sidenav-list.component.ts | 59 ++++++ .../common/not-found/not-found.component.css | 0 .../not-found/not-found.component.scss} | 0 .../common/not-found/not-found.component.ts | 13 +- ...mponent.css => list-filter.component.scss} | 0 .../list-filter/list-filter.component.ts | 2 +- ...ponent.css => search-field.component.scss} | 4 + .../search-field/search-field.component.ts | 2 +- ...gin.component.css => login.component.scss} | 0 static/src/app/login/login.component.ts | 2 +- static/src/app/login/signup.component.ts | 2 +- .../decoration-item.component.css | 0 .../decoration-item.component.scss | 1 + .../decoration-item.component.ts | 2 +- .../decoration-list.component.css | 0 .../decoration-list.component.scss | 1 + .../decoration-list.component.ts | 2 +- .../edit-decoration.component.css | 0 .../edit-decoration.component.scss | 2 + .../edit-decoration.component.ts | 2 +- .../ranks/edit-rank/edit-rank.component.css | 1 - .../ranks/edit-rank/edit-rank.component.scss | 2 + .../ranks/edit-rank/edit-rank.component.ts | 2 +- ...component.css => rank-item.component.scss} | 2 + .../ranks/rank-list/rank-item.component.ts | 2 +- .../ranks/rank-list/rank-list.component.css | 0 .../ranks/rank-list/rank-list.component.scss | 1 + .../ranks/rank-list/rank-list.component.ts | 2 +- .../edit-squad/edit-squad.component.css | 0 .../edit-squad/edit-squad.component.scss | 2 + .../squads/edit-squad/edit-squad.component.ts | 2 +- .../squad-list/squad-item.component.css | 0 .../squad-list/squad-item.component.scss | 1 + .../squads/squad-list/squad-item.component.ts | 2 +- .../squad-list/squad-list.component.css | 3 - .../squad-list/squad-list.component.scss | 5 + .../squads/squad-list/squad-list.component.ts | 2 +- ...omponent.css => award-user.component.scss} | 3 + .../users/award-user/award-user.component.ts | 2 +- .../users/edit-user/edit-user.component.css | 0 .../users/edit-user/edit-user.component.scss | 2 + .../users/edit-user/edit-user.component.ts | 2 +- .../users/user-list/user-item.component.scss} | 2 + .../users/user-list/user-item.component.ts | 2 +- .../users/user-list/user-list.component.css | 0 .../users/user-list/user-list.component.scss | 1 + .../users/user-list/user-list.component.ts | 2 +- ...css => decoration-overview.component.scss} | 19 +- .../decoration-overview.component.ts | 2 +- ...nt.css => decoration-panel.component.scss} | 0 .../decoration-panel.component.ts | 2 +- ...onent.css => rank-overview.component.scss} | 15 +- .../rank-overview/rank-overview.component.ts | 2 +- ...omponent.css => rank-panel.component.scss} | 0 .../rank-panel/rank-panel.component.ts | 2 +- ...component.css => req-award.component.scss} | 2 + .../app/request/award/req-award.component.ts | 2 +- .../confirm-award.component.scss} | 2 + .../confirm-award/confirm-award.component.ts | 2 +- .../confirm-promotion.component.scss} | 2 + .../confirm-promotion.component.ts | 2 +- ...onent.css => req-promotion.component.scss} | 2 + .../promotion/req-promotion.component.ts | 2 +- static/src/app/request/request.component.css | 0 .../request.component.scss} | 0 static/src/app/request/request.component.ts | 2 +- ...onent.css => sql-dashboard.component.scss} | 2 + .../sql-dashboard/sql-dashboard.component.ts | 2 +- static/src/app/shared.module.ts | 7 +- ...css => campaign-navigation.component.scss} | 0 .../campaign-navigation.component.ts | 2 +- .../campaign-player-detail.component.scss | 4 + .../campaign-player-detail.component.ts | 3 +- .../campaign-submit.component.css | 3 - .../campaign-submit.component.scss | 6 + .../campaign-submit.component.ts | 2 +- ...component.css => highscore.component.scss} | 13 +- .../campaign/highscore/highscore.component.ts | 2 +- ...t.css => campaign-overview.component.scss} | 0 .../overview/campaign-overview.component.ts | 2 +- static/src/app/statistic/stats.component.html | 2 +- ...ats.component.css => stats.component.scss} | 0 static/src/app/statistic/stats.component.ts | 15 +- .../fraction-stats.component.scss | 3 + .../fraction-stats.component.ts | 2 +- ...omponent.css => scoreboard.component.scss} | 3 + .../war/scoreboard/scoreboard.component.ts | 4 +- .../server-stats/server-stats.component.scss | 3 + .../server-stats/server-stats.component.ts | 2 +- .../war/war-header/war-header.component.scss | 3 + .../war/war-header/war-header.component.ts | 2 +- .../war/war-list/war-item.component.html | 2 +- ....component.css => war-item.component.scss} | 0 .../war/war-list/war-item.component.ts | 2 +- .../war/war-list/war-list.component.html | 7 +- ....component.css => war-list.component.scss} | 4 - .../war/war-list/war-list.component.ts | 2 +- .../war/war-submit/war-submit.component.css | 3 - .../war/war-submit/war-submit.component.scss | 6 + .../war/war-submit/war-submit.component.ts | 2 +- static/src/app/style/background-image.scss | 13 ++ static/src/app/style/blink-indicator.scss | 30 +++ .../style/{entry-form.css => entry-form.scss} | 0 ...hide-scrollbar.css => hide-scrollbar.scss} | 0 .../style/{list-entry.css => list-entry.scss} | 0 .../app/style/{overview.css => overview.scss} | 0 .../{select-list.css => select-list.scss} | 1 + static/src/app/utils/global.helpers.ts | 2 +- static/src/assets/icon/baseline-menu-24px.svg | 1 + .../src/assets/icon/general/opt-logo-core.svg | 2 +- static/src/{styles.css => styles.scss} | 19 +- 144 files changed, 879 insertions(+), 487 deletions(-) create mode 100644 static/src/app/admin/admin.component.scss create mode 100644 static/src/app/admin/edit-app-user/edit-app-user.component.scss rename static/src/app/{manage/users/user-list/user-item.component.css => admin/user-list/app-user-item.component.scss} (65%) delete mode 100644 static/src/app/admin/user-list/app-user-list.component.css create mode 100644 static/src/app/admin/user-list/app-user-list.component.scss rename static/src/app/army/army-member/{army-member.component.css => army-member.component.scss} (64%) rename static/src/app/army/army-squad/{army-squad.component.css => army-squad.component.scss} (100%) delete mode 100644 static/src/app/army/army.component.css create mode 100644 static/src/app/army/army.component.scss create mode 100644 static/src/app/common/navigation/navigation-header.component.html create mode 100644 static/src/app/common/navigation/navigation-header.component.scss create mode 100644 static/src/app/common/navigation/navigation-header.component.ts create mode 100644 static/src/app/common/navigation/sidenav-list.component.html create mode 100644 static/src/app/common/navigation/sidenav-list.component.scss create mode 100644 static/src/app/common/navigation/sidenav-list.component.ts delete mode 100644 static/src/app/common/not-found/not-found.component.css rename static/src/app/{admin/admin.component.css => common/not-found/not-found.component.scss} (100%) rename static/src/app/common/user-interface/list-filter/{list-filter.component.css => list-filter.component.scss} (100%) rename static/src/app/common/user-interface/search-field/{search-field.component.css => search-field.component.scss} (59%) rename static/src/app/login/{login.component.css => login.component.scss} (100%) delete mode 100644 static/src/app/manage/decorations/decoration-list/decoration-item.component.css create mode 100644 static/src/app/manage/decorations/decoration-list/decoration-item.component.scss delete mode 100644 static/src/app/manage/decorations/decoration-list/decoration-list.component.css create mode 100644 static/src/app/manage/decorations/decoration-list/decoration-list.component.scss delete mode 100644 static/src/app/manage/decorations/edit-decoration/edit-decoration.component.css create mode 100644 static/src/app/manage/decorations/edit-decoration/edit-decoration.component.scss delete mode 100644 static/src/app/manage/ranks/edit-rank/edit-rank.component.css create mode 100644 static/src/app/manage/ranks/edit-rank/edit-rank.component.scss rename static/src/app/manage/ranks/rank-list/{rank-item.component.css => rank-item.component.scss} (61%) delete mode 100644 static/src/app/manage/ranks/rank-list/rank-list.component.css create mode 100644 static/src/app/manage/ranks/rank-list/rank-list.component.scss delete mode 100644 static/src/app/manage/squads/edit-squad/edit-squad.component.css create mode 100644 static/src/app/manage/squads/edit-squad/edit-squad.component.scss delete mode 100644 static/src/app/manage/squads/squad-list/squad-item.component.css create mode 100644 static/src/app/manage/squads/squad-list/squad-item.component.scss delete mode 100644 static/src/app/manage/squads/squad-list/squad-list.component.css create mode 100644 static/src/app/manage/squads/squad-list/squad-list.component.scss rename static/src/app/manage/users/award-user/{award-user.component.css => award-user.component.scss} (79%) delete mode 100644 static/src/app/manage/users/edit-user/edit-user.component.css create mode 100644 static/src/app/manage/users/edit-user/edit-user.component.scss rename static/src/app/{admin/user-list/app-user-item.component.css => manage/users/user-list/user-item.component.scss} (64%) delete mode 100644 static/src/app/manage/users/user-list/user-list.component.css create mode 100644 static/src/app/manage/users/user-list/user-list.component.scss rename static/src/app/pub/decoration-overview/{decoration-overview.component.css => decoration-overview.component.scss} (83%) rename static/src/app/pub/decoration-overview/decoration-panel/{decoration-panel.component.css => decoration-panel.component.scss} (100%) rename static/src/app/pub/rank-overview/{rank-overview.component.css => rank-overview.component.scss} (57%) rename static/src/app/pub/rank-overview/rank-panel/{rank-panel.component.css => rank-panel.component.scss} (100%) rename static/src/app/request/award/{req-award.component.css => req-award.component.scss} (90%) rename static/src/app/request/{confirm-promotion/confirm-promotion.component.css => confirm-award/confirm-award.component.scss} (88%) rename static/src/app/request/{confirm-award/confirm-award.component.css => confirm-promotion/confirm-promotion.component.scss} (88%) rename static/src/app/request/promotion/{req-promotion.component.css => req-promotion.component.scss} (89%) delete mode 100644 static/src/app/request/request.component.css rename static/src/app/{admin/edit-app-user/edit-app-user.component.css => request/request.component.scss} (100%) rename static/src/app/request/sql-dashboard/{sql-dashboard.component.css => sql-dashboard.component.scss} (87%) rename static/src/app/statistic/campaign/campaign-navigation/{campaign-navigation.component.css => campaign-navigation.component.scss} (100%) delete mode 100644 static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.css create mode 100644 static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.scss rename static/src/app/statistic/campaign/highscore/{highscore.component.css => highscore.component.scss} (83%) rename static/src/app/statistic/campaign/overview/{campaign-overview.component.css => campaign-overview.component.scss} (100%) rename static/src/app/statistic/{stats.component.css => stats.component.scss} (100%) rename static/src/app/statistic/war/scoreboard/{scoreboard.component.css => scoreboard.component.scss} (89%) rename static/src/app/statistic/war/war-list/{war-item.component.css => war-item.component.scss} (100%) rename static/src/app/statistic/war/war-list/{war-list.component.css => war-list.component.scss} (97%) delete mode 100644 static/src/app/statistic/war/war-submit/war-submit.component.css create mode 100644 static/src/app/statistic/war/war-submit/war-submit.component.scss create mode 100644 static/src/app/style/background-image.scss create mode 100644 static/src/app/style/blink-indicator.scss rename static/src/app/style/{entry-form.css => entry-form.scss} (100%) rename static/src/app/style/{hide-scrollbar.css => hide-scrollbar.scss} (100%) rename static/src/app/style/{list-entry.css => list-entry.scss} (100%) rename static/src/app/style/{overview.css => overview.scss} (100%) rename static/src/app/style/{select-list.css => select-list.scss} (56%) create mode 100644 static/src/assets/icon/baseline-menu-24px.svg rename static/src/{styles.css => styles.scss} (74%) diff --git a/package-lock.json b/package-lock.json index 1dd5d96..473308a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "opt-cc", - "version": "1.9.2", + "version": "1.9.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index c77239e..0fa12db 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opt-cc", - "version": "1.9.2", + "version": "1.9.3", "author": "Florian Hartwich ", "private": true, "scripts": { diff --git a/server/package-lock.json b/server/package-lock.json index e036c75..ad5b7d3 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -3984,14 +3984,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4006,20 +4004,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -4136,8 +4131,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -4149,7 +4143,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -4164,7 +4157,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -4172,14 +4164,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -4198,7 +4188,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -4279,8 +4268,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -4292,7 +4280,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -4414,7 +4401,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", diff --git a/static/angular.json b/static/angular.json index e50d100..aaf9de9 100644 --- a/static/angular.json +++ b/static/angular.json @@ -21,9 +21,10 @@ "src/favicon.ico" ], "styles": [ - "src/styles.css", + "src/styles.scss", "node_modules/jquery-ui-bundle/jquery-ui.css", - "node_modules/bootstrap/dist/css/bootstrap.min.css" + "node_modules/bootstrap/dist/css/bootstrap.min.css", + "node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css", ], "scripts": [ "node_modules/jquery/dist/jquery.js", @@ -146,4 +147,4 @@ "prefix": "app" } } -} \ No newline at end of file +} diff --git a/static/package-lock.json b/static/package-lock.json index 987f494..fdd1f2c 100644 --- a/static/package-lock.json +++ b/static/package-lock.json @@ -533,6 +533,14 @@ "tslib": "^1.9.0" } }, + "@angular/flex-layout": { + "version": "6.0.0-beta.18", + "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-6.0.0-beta.18.tgz", + "integrity": "sha512-1Alv3YSIZYp0CTUIESIaSQLoSVyLzuNKPa5bGM/RzOmeSrndm5plVgI9wopGfJUDiwM18R97rq/4XjDvNT/+ig==", + "requires": { + "tslib": "^1.7.1" + } + }, "@angular/forms": { "version": "6.1.10", "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.1.10.tgz", @@ -4636,13 +4644,11 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, - "optional": true + "bundled": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4655,18 +4661,15 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "concat-map": { "version": "0.0.1", - "bundled": true, - "optional": true + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "core-util-is": { "version": "1.0.2", @@ -4769,8 +4772,7 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, - "optional": true + "bundled": true }, "ini": { "version": "1.3.5", @@ -4780,7 +4782,6 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -4793,20 +4794,17 @@ "minimatch": { "version": "3.0.4", "bundled": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true, - "optional": true + "bundled": true }, "minipass": { "version": "2.2.4", "bundled": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -4823,7 +4821,6 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -4896,8 +4893,7 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "optional": true + "bundled": true }, "object-assign": { "version": "4.1.1", @@ -4907,7 +4903,6 @@ "once": { "version": "1.4.0", "bundled": true, - "optional": true, "requires": { "wrappy": "1" } @@ -5013,7 +5008,6 @@ "string-width": { "version": "1.0.2", "bundled": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -11767,9 +11761,9 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "typescript": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz", - "integrity": "sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw==" + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" }, "underscore": { "version": "1.7.0", diff --git a/static/package.json b/static/package.json index 6ce0161..6848f3c 100644 --- a/static/package.json +++ b/static/package.json @@ -22,6 +22,7 @@ "@angular/compiler": "^6.1.10", "@angular/compiler-cli": "^6.1.10", "@angular/core": "^6.1.10", + "@angular/flex-layout": "^6.0.0-beta.18", "@angular/forms": "^6.1.10", "@angular/http": "^6.1.10", "@angular/material": "^6.1.10", @@ -42,6 +43,7 @@ "ngx-infinite-scroll": "^7.0.1", "rxjs-compat": "^6.2.1", "ts-helpers": "^1.1.2", + "typescript": "^2.9.2", "zone.js": "^0.8.26" }, "devDependencies": { @@ -58,7 +60,6 @@ "protractor": "^5.4.1", "protractor-jasmine2-screenshot-reporter": "^0.3.2", "ts-node": "1.2.1", - "tslint": "^5.10.0", - "typescript": "^2.7.2" + "tslint": "^5.10.0" } } diff --git a/static/src/app/admin/admin.component.scss b/static/src/app/admin/admin.component.scss new file mode 100644 index 0000000..88c0ab7 --- /dev/null +++ b/static/src/app/admin/admin.component.scss @@ -0,0 +1 @@ +@import url('../style/overview.scss'); diff --git a/static/src/app/admin/admin.component.ts b/static/src/app/admin/admin.component.ts index ddc9b5f..477d8a6 100644 --- a/static/src/app/admin/admin.component.ts +++ b/static/src/app/admin/admin.component.ts @@ -3,7 +3,7 @@ import {Component} from '@angular/core'; @Component({ selector: 'cc-admin-component', templateUrl: './admin.component.html', - styleUrls: ['./admin.component.css', '../style/overview.css'] + styleUrls: ['./admin.component.scss'] }) export class AdminComponent { constructor() { diff --git a/static/src/app/admin/edit-app-user/edit-app-user.component.scss b/static/src/app/admin/edit-app-user/edit-app-user.component.scss new file mode 100644 index 0000000..5602a13 --- /dev/null +++ b/static/src/app/admin/edit-app-user/edit-app-user.component.scss @@ -0,0 +1,2 @@ +@import url('../../style/entry-form.scss'); +@import url('../../style/overview.scss'); diff --git a/static/src/app/admin/edit-app-user/edit-app-user.component.ts b/static/src/app/admin/edit-app-user/edit-app-user.component.ts index 6831aa4..15c4aad 100644 --- a/static/src/app/admin/edit-app-user/edit-app-user.component.ts +++ b/static/src/app/admin/edit-app-user/edit-app-user.component.ts @@ -11,7 +11,7 @@ import {AppUserService} from '../../services/app-user-service/app-user.service'; @Component({ templateUrl: './edit-app-user.component.html', - styleUrls: ['./edit-app-user.component.css', '../../style/entry-form.css', '../../style/overview.css'], + styleUrls: ['./edit-app-user.component.scss'], }) export class EditAppUserComponent implements OnInit { diff --git a/static/src/app/manage/users/user-list/user-item.component.css b/static/src/app/admin/user-list/app-user-item.component.scss similarity index 65% rename from static/src/app/manage/users/user-list/user-item.component.css rename to static/src/app/admin/user-list/app-user-item.component.scss index 458e2b3..3e4e327 100644 --- a/static/src/app/manage/users/user-list/user-item.component.css +++ b/static/src/app/admin/user-list/app-user-item.component.scss @@ -1,3 +1,5 @@ +@import url('../../style/list-entry.scss'); + .icon-award { width: 27px; height: 42px; diff --git a/static/src/app/admin/user-list/app-user-item.component.ts b/static/src/app/admin/user-list/app-user-item.component.ts index 8e0a708..17e3dd9 100644 --- a/static/src/app/admin/user-list/app-user-item.component.ts +++ b/static/src/app/admin/user-list/app-user-item.component.ts @@ -5,7 +5,7 @@ import {Fraction} from '../../utils/fraction.enum'; @Component({ selector: 'cc-app-user-item', templateUrl: './app-user-item.component.html', - styleUrls: ['./app-user-item.component.css', '../../style/list-entry.css'], + styleUrls: ['./app-user-item.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush }) export class AppUserItemComponent { diff --git a/static/src/app/admin/user-list/app-user-list.component.css b/static/src/app/admin/user-list/app-user-list.component.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/src/app/admin/user-list/app-user-list.component.scss b/static/src/app/admin/user-list/app-user-list.component.scss new file mode 100644 index 0000000..959f5b3 --- /dev/null +++ b/static/src/app/admin/user-list/app-user-list.component.scss @@ -0,0 +1 @@ +@import url('../../style/select-list.scss'); diff --git a/static/src/app/admin/user-list/app-user-list.component.ts b/static/src/app/admin/user-list/app-user-list.component.ts index 9c440d5..7092e64 100644 --- a/static/src/app/admin/user-list/app-user-list.component.ts +++ b/static/src/app/admin/user-list/app-user-list.component.ts @@ -14,7 +14,7 @@ import {SquadService} from '../../services/army-management/squad.service'; @Component({ selector: 'cc-app-user-list', templateUrl: './app-user-list.component.html', - styleUrls: ['./app-user-list.component.css', '../../style/select-list.css'] + styleUrls: ['./app-user-list.component.scss'] }) export class AppUserListComponent { diff --git a/static/src/app/app.component.html b/static/src/app/app.component.html index 8e11193..8393bea 100644 --- a/static/src/app/app.component.html +++ b/static/src/app/app.component.html @@ -1,153 +1,41 @@ - -
- + + + + + + + + + + -
- +
+ +
+ +
+ +
- - -
-
- -
- - - diff --git a/static/src/app/app.component.scss b/static/src/app/app.component.scss index 31ab521..0a1a3e7 100644 --- a/static/src/app/app.component.scss +++ b/static/src/app/app.component.scss @@ -1,39 +1,15 @@ @import "style/load-indicator.scss"; -ul { - list-style-type: none; - margin: 0; - padding: 0; -} - -li { +mat-sidenav-container, mat-sidenav-content, mat-sidenav { + height: 100vh; display: inline; + background: #fdfdfd; } -.content { - padding-left: 15px; - padding-right: 15px; -} - -.scrollable-menu { - height: auto; - max-height: 200px; - overflow-x: hidden; -} - -.navbar-brand mat-icon { - color: #dadada; - width: 135px; - height: 40px; - stroke: #dadada; -} - -.version-label { - position: absolute; - top: 27px; - left: 115px; - font-size: 12px; - color: #bebebe; +mat-sidenav { + background: #222222; + top: 50px; + width: 250px; } #scrollTopBtn { @@ -42,39 +18,8 @@ li { right: 30px; z-index: 99; background: rgba(16, 16, 16, 0.8); -} -#scrollTopBtn:hover { - background: #101010; -} - -.unprocessed { - -webkit-animation-name: color-blink; /* Safari 4.0 - 8.0 */ - -webkit-animation-duration: 4s; /* Safari 4.0 - 8.0 */ - animation-name: color-blink; - animation-duration: 4s; - animation-iteration-count: infinite; -} - -.unprocessed-child { - background-color: orange; -} - -/* Safari 4.0 - 8.0 */ -@-webkit-keyframes color-blink { - from { - background-color: #222222; - } - to { - background-color: orange; - } -} - -@keyframes color-blink { - from { - background-color: #222222; - } - to { - background-color: orange; + &:hover { + background: #101010; } } diff --git a/static/src/app/app.component.ts b/static/src/app/app.component.ts index 701ce2b..9a7d605 100644 --- a/static/src/app/app.component.ts +++ b/static/src/app/app.component.ts @@ -1,19 +1,14 @@ -import {Component, HostListener, Inject, OnInit} from '@angular/core'; +import {Component, Inject, OnInit} from '@angular/core'; import {NavigationEnd, NavigationStart, Router} from '@angular/router'; -import {LoginService} from './services/app-user-service/login-service'; -import {PromotionService} from './services/army-management/promotion.service'; -import {AwardingService} from './services/army-management/awarding.service'; -import {RouteConfig} from './app.config'; import {DOCUMENT} from '@angular/common'; import {DomSanitizer} from '@angular/platform-browser'; import {MatIconRegistry} from '@angular/material'; import {SpinnerService} from './services/user-interface/spinner/spinner.service'; -import {TranslateService} from '@ngx-translate/core'; -import {SettingsService} from './services/settings.service'; -import {environment} from '../environments/environment'; import {SnackBarService} from './services/user-interface/snack-bar/snack-bar.service'; +import {Observable} from 'rxjs'; +import {LoginService} from './services/app-user-service/login-service'; +import {RouteConfig} from './app.config'; -declare function require(url: string); @Component({ selector: 'app-root', @@ -22,21 +17,20 @@ declare function require(url: string); }) export class AppComponent implements OnInit { - readonly features = environment.features; - - config = RouteConfig; - loading = false; scrollTopVisible = false; scrollBtnVisibleVal = 100; + currentUrl = ''; + // a map of svgIcon names and associated svg file names // to load from assets/icon folder svgIcons = { 'opt-logo': 'general/opt-logo', 'opt-logo-core': 'general/opt-logo-core', + 'menu': 'baseline-menu-24px', 'add': 'outline-add_box-24px', 'add-user': 'twotone-person_add-24px', 'award': 'award', @@ -73,21 +67,11 @@ export class AppComponent implements OnInit { 'flag-en': 'locale/en', }; - language; - - languages = ['de', 'en']; - - version = 'v'.concat(require('./../../../package.json').version); - - constructor(public loginService: LoginService, - private promotionService: PromotionService, - private awardingService: AwardingService, - private router: Router, + constructor(private router: Router, + private loginService: LoginService, private iconRegistry: MatIconRegistry, private sanitizer: DomSanitizer, private spinnerService: SpinnerService, - private translate: TranslateService, - private settingsService: SettingsService, private snackBarService: SnackBarService, @Inject(DOCUMENT) private document) { this.initMaterialSvgIcons(); @@ -101,10 +85,10 @@ export class AppComponent implements OnInit { } if (event instanceof NavigationEnd) { this.spinnerService.deactivate(); - const currentUrl = this.router.url; + this.currentUrl = this.router.url; // scroll to top on route from army overview to user detail and back - if (currentUrl.includes('/overview') || currentUrl.includes('/public')) { + if (this.currentUrl.includes('/overview') || this.currentUrl.includes('/public')) { this.scrollToTop(); } } @@ -112,15 +96,10 @@ export class AppComponent implements OnInit { } ngOnInit() { - this.settingsService.getLanguage().subscribe((language) => { - this.language = language; - this.translate.setDefaultLang(language) + Observable.fromEvent(this.document, 'scroll').subscribe(e => { + this.scrollTopVisible = document.body.scrollTop > this.scrollBtnVisibleVal + || document.documentElement.scrollTop > this.scrollBtnVisibleVal; }); - if (this.loginService.hasPermission(2)) { - const fraction = this.loginService.getCurrentUser().squad.fraction; - this.promotionService.checkUnconfirmedPromotions(fraction); - this.awardingService.checkUnprocessedAwards(fraction); - } } toggleSpinner(active) { @@ -134,12 +113,6 @@ export class AppComponent implements OnInit { }); } - @HostListener('window:scroll', []) - onWindowScroll() { - this.scrollTopVisible = document.body.scrollTop > this.scrollBtnVisibleVal - || document.documentElement.scrollTop > this.scrollBtnVisibleVal; - } - logout() { this.loginService.logout(); setTimeout(() => { @@ -147,16 +120,10 @@ export class AppComponent implements OnInit { }, 500); } + scrollToTop() { this.document.body.scrollTop = 0; // For Safari this.document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera } - - setLanguage(language: string) { - if (language) { - this.language = language; - this.settingsService.setLanguage(language); - } - } } diff --git a/static/src/app/app.config.ts b/static/src/app/app.config.ts index 9f2cf84..9499120 100644 --- a/static/src/app/app.config.ts +++ b/static/src/app/app.config.ts @@ -1,7 +1,5 @@ export class AppConfig { - public readonly apiUrl = '/api'; - public readonly apiAppUserPath = this.apiUrl + '/account/'; public readonly apiAuthenticationPath = this.apiUrl + '/authenticate'; public readonly apiAwardPath = this.apiUrl + '/awardings'; @@ -43,3 +41,15 @@ export const RouteConfig = { rankOverviewPath: 'public/ranks', decorationOverviewPath: 'public/decorations', }; + +export const BaseConfig = { + responsive: { + breakpointPx: 959, + }, + i18n: { + availableLanguages: [ + 'de', + 'en' + ] + } +}; diff --git a/static/src/app/app.module.ts b/static/src/app/app.module.ts index d8a986e..ac162dc 100644 --- a/static/src/app/app.module.ts +++ b/static/src/app/app.module.ts @@ -20,9 +20,10 @@ import {CookieService} from 'ngx-cookie-service'; import {SnackBarService} from './services/user-interface/snack-bar/snack-bar.service'; import {HttpClientModule} from '@angular/common/http'; import {SpinnerService} from './services/user-interface/spinner/spinner.service'; -import {MatSelectModule, MatSnackBarModule} from '@angular/material'; import {SettingsService} from './services/settings.service'; import {HttpGateway} from './services/http-gateway'; +import {MatListModule, MatMenuModule, MatSidenavModule, MatToolbarModule} from '@angular/material'; +import {FlexLayoutModule} from '@angular/flex-layout'; @NgModule({ imports: [ @@ -33,8 +34,11 @@ import {HttpGateway} from './services/http-gateway'; HttpModule, HttpClientModule, ClipboardModule, - MatSnackBarModule, - MatSelectModule, + MatSidenavModule, + MatToolbarModule, + MatListModule, + MatMenuModule, + FlexLayoutModule, ], providers: [ diff --git a/static/src/app/app.routing.ts b/static/src/app/app.routing.ts index bc8468e..ae4fc77 100644 --- a/static/src/app/app.routing.ts +++ b/static/src/app/app.routing.ts @@ -4,6 +4,8 @@ import {LoginComponent, LoginGuardAdmin, LoginGuardHL, LoginGuardMT} from './log import {armyRoutes, armyRoutingComponents} from './army/army.routing'; import {SignupComponent} from './login/signup.component'; import {RouteConfig} from './app.config'; +import {NavigationHeaderComponent} from './common/navigation/navigation-header.component'; +import {SidenavListComponent} from './common/navigation/sidenav-list.component'; export const appRoutes: Routes = [ { @@ -58,6 +60,7 @@ export const appRoutes: Routes = [ export const appRouting = RouterModule.forRoot(appRoutes); -export const routingComponents = [...armyRoutingComponents, LoginComponent, SignupComponent, NotFoundComponent]; +export const routingComponents = [...armyRoutingComponents, LoginComponent, SignupComponent, NotFoundComponent, + NavigationHeaderComponent, SidenavListComponent]; export const routingProviders = [LoginGuardHL, LoginGuardMT, LoginGuardAdmin]; diff --git a/static/src/app/army/army-member/army-member.component.css b/static/src/app/army/army-member/army-member.component.scss similarity index 64% rename from static/src/app/army/army-member/army-member.component.css rename to static/src/app/army/army-member/army-member.component.scss index abb3b2a..994c654 100644 --- a/static/src/app/army/army-member/army-member.component.css +++ b/static/src/app/army/army-member/army-member.component.scss @@ -1,17 +1,4 @@ -:host { - display: flow-root; - height: 100%; - min-height: 100vh; - width: 100%; - margin-top: -23px; - padding-top: 23px; - padding-bottom: 23px; - background-image: url('../../../assets/bg.jpg'); - background-size: cover; - background-attachment: fixed; - background-position: top; - background-repeat: no-repeat; -} +@import url('../../style/background-image.scss'); .army-member-view { width: 90%; diff --git a/static/src/app/army/army-member/army-member.component.ts b/static/src/app/army/army-member/army-member.component.ts index 6365712..4874bb3 100644 --- a/static/src/app/army/army-member/army-member.component.ts +++ b/static/src/app/army/army-member/army-member.component.ts @@ -1,9 +1,8 @@ -import {Component, Inject, OnDestroy, OnInit} from '@angular/core'; +import {Component, OnInit} from '@angular/core'; import {Award, User} from '../../models/model-interfaces'; import {ActivatedRoute, Router} from '@angular/router'; import {UserService} from '../../services/army-management/user.service'; import {Subscription} from 'rxjs/Subscription'; -import {RouteConfig} from '../../app.config'; import {AwardingService} from '../../services/army-management/awarding.service'; import {Fraction} from '../../utils/fraction.enum'; import {Location} from '@angular/common'; @@ -11,7 +10,7 @@ import {Location} from '@angular/common'; @Component({ selector: 'army-member', templateUrl: './army-member.component.html', - styleUrls: ['./army-member.component.css'] + styleUrls: ['./army-member.component.scss'] }) export class ArmyMemberComponent implements OnInit { @@ -35,7 +34,6 @@ export class ArmyMemberComponent implements OnInit { } ngOnInit() { - this.subscription = this.route.params .map(params => params['id']) .filter(id => id !== undefined) diff --git a/static/src/app/army/army-squad/army-squad.component.css b/static/src/app/army/army-squad/army-squad.component.scss similarity index 100% rename from static/src/app/army/army-squad/army-squad.component.css rename to static/src/app/army/army-squad/army-squad.component.scss diff --git a/static/src/app/army/army-squad/army-squad.component.ts b/static/src/app/army/army-squad/army-squad.component.ts index 291b22c..ceeda96 100644 --- a/static/src/app/army/army-squad/army-squad.component.ts +++ b/static/src/app/army/army-squad/army-squad.component.ts @@ -5,7 +5,7 @@ import {Fraction} from '../../utils/fraction.enum'; @Component({ selector: 'cc-army-squad', templateUrl: './army-squad.component.html', - styleUrls: ['./army-squad.component.css'] + styleUrls: ['./army-squad.component.scss'] }) export class ArmySquadComponent { diff --git a/static/src/app/army/army.component.css b/static/src/app/army/army.component.css deleted file mode 100644 index dcb92f5..0000000 --- a/static/src/app/army/army.component.css +++ /dev/null @@ -1,37 +0,0 @@ -:host { - display: flow-root; - height: 100%; - min-height: 100vh; - width: 100%; - margin-top: -23px; - padding-top: 23px; - padding-bottom: 23px; - background-image: url('../../assets/bg.jpg'); - background-size: cover; - background-attachment: fixed; - background-position: top; - background-repeat: no-repeat; -} - -.army-column { - width: 45%; -} - -h1 { - text-align: center; -} - -.army-head { - font-weight: bolder; - text-align: center -} - -.member-count { - margin-top: 15px; - padding: 8px; - text-align: center; - font-weight: bold; - color: whitesmoke; - background: #222222; - border-radius: 12px; -} diff --git a/static/src/app/army/army.component.scss b/static/src/app/army/army.component.scss new file mode 100644 index 0000000..a140bb4 --- /dev/null +++ b/static/src/app/army/army.component.scss @@ -0,0 +1,24 @@ +@import url('../style/background-image.scss'); + +.army-column { + width: 45%; +} + +h1 { + text-align: center; +} + +.army-head { + font-weight: bolder; + text-align: center +} + +.member-count { + margin-top: 15px; + padding: 8px; + text-align: center; + font-weight: bold; + color: whitesmoke; + background: #222222; + border-radius: 12px; +} diff --git a/static/src/app/army/army.component.ts b/static/src/app/army/army.component.ts index 8d63753..31e2c9e 100644 --- a/static/src/app/army/army.component.ts +++ b/static/src/app/army/army.component.ts @@ -8,7 +8,7 @@ import {Fraction} from '../utils/fraction.enum'; @Component({ selector: 'cc-army', templateUrl: './army.component.html', - styleUrls: ['./army.component.css'] + styleUrls: ['./army.component.scss'] }) export class ArmyComponent implements OnInit { diff --git a/static/src/app/common/navigation/navigation-header.component.html b/static/src/app/common/navigation/navigation-header.component.html new file mode 100644 index 0000000..e4c3638 --- /dev/null +++ b/static/src/app/common/navigation/navigation-header.component.html @@ -0,0 +1,148 @@ + +
+ +
+ +
+ +
+
+ +
+
diff --git a/static/src/app/common/navigation/navigation-header.component.scss b/static/src/app/common/navigation/navigation-header.component.scss new file mode 100644 index 0000000..071e6cb --- /dev/null +++ b/static/src/app/common/navigation/navigation-header.component.scss @@ -0,0 +1,73 @@ +@import url('../../style/blink-indicator.scss'); + +mat-toolbar { + height: 2.5em; + min-height: 50px; + + &.mat-toolbar.mat-primary { + background: #222222; + } + + .navigation-items { + list-style-type: none; + padding: 0; + margin: 0; + } + + li { + height: 50px; + line-height: 46px; + padding: 0 10px; + cursor: pointer; + + mat-list-item { + cursor: pointer; + } + + a { + font-size: 16px; + text-decoration: none; + color: #9d9d9d; + padding: 16px 5px; + } + + &:hover { + a { + color: white; + } + } + + &.active { + @extend li:hover; + + background: #000000; + } + } + + .brand-logo { + padding-top: 6px; + margin-right: -10px; + + mat-icon { + color: #dadada; + width: 135px; + height: 40px; + stroke: #dadada; + } + + .version-label { + position: relative; + left: -42px; + font-size: 12px; + color: #bebebe; + } + + @media all and (max-width: 959px) { + margin: auto; + } + } +} + +button.active { + background: #dadada; +} diff --git a/static/src/app/common/navigation/navigation-header.component.ts b/static/src/app/common/navigation/navigation-header.component.ts new file mode 100644 index 0000000..7996685 --- /dev/null +++ b/static/src/app/common/navigation/navigation-header.component.ts @@ -0,0 +1,68 @@ +import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; +import {BaseConfig, RouteConfig} from '../../app.config'; +import {environment} from '../../../environments/environment'; +import {LoginService} from '../../services/app-user-service/login-service'; +import {PromotionService} from '../../services/army-management/promotion.service'; +import {AwardingService} from '../../services/army-management/awarding.service'; +import {SettingsService} from '../../services/settings.service'; +import {TranslateService} from '@ngx-translate/core'; + +declare function require(url: string); + +@Component({ + selector: 'app-header', + templateUrl: 'navigation-header.component.html', + styleUrls: ['navigation-header.component.scss'] +}) +export class NavigationHeaderComponent implements OnInit { + + @Output() sidenavToggle = new EventEmitter(); + + @Output() userLogout = new EventEmitter(); + + @Input() currentUrl; + + readonly features = environment.features; + + readonly availableLanguages = BaseConfig.i18n.availableLanguages; + + readonly version = require('./../../../../../package.json').version; + + readonly config = RouteConfig; + + language; + + constructor(public loginService: LoginService, + private promotionService: PromotionService, + private awardingService: AwardingService, + private translate: TranslateService, + private settingsService: SettingsService) { + } + + ngOnInit() { + this.settingsService.getLanguage().subscribe((language) => { + this.language = language; + this.translate.setDefaultLang(language) + }); + if (this.loginService.hasPermission(2)) { + const fraction = this.loginService.getCurrentUser().squad.fraction; + this.promotionService.checkUnconfirmedPromotions(fraction); + this.awardingService.checkUnprocessedAwards(fraction); + } + } + + public onToggleSidenav() { + this.sidenavToggle.emit(); + }; + + public doUserLogout() { + this.userLogout.emit() + }; + + setLanguage(language: string) { + if (language) { + this.language = language; + this.settingsService.setLanguage(language); + } + } +} diff --git a/static/src/app/common/navigation/sidenav-list.component.html b/static/src/app/common/navigation/sidenav-list.component.html new file mode 100644 index 0000000..725fd3b --- /dev/null +++ b/static/src/app/common/navigation/sidenav-list.component.html @@ -0,0 +1,133 @@ + + + {{'navigation.top.overview' | translate}} + + + {{'navigation.top.ranks' | translate}} + + + {{'navigation.top.decorations' | translate}} + + + {{'navigation.top.statistics' | translate}} + + + + + {{'navigation.top.management' | translate}} + + + + + + + + + + + + + {{'navigation.top.request' | translate}} + + + + + + + + + + + + {{'navigation.top.request.manage' | translate}} + + + + + + + + + + + + + {{'navigation.top.admin' | translate}} + + + + + + + + + + {{language}} + + + + + + + + + + + {{'navigation.top.logout' | translate}} + + + {{'navigation.top.login' | translate}} + + + + {{'navigation.top.board' | translate}} + + diff --git a/static/src/app/common/navigation/sidenav-list.component.scss b/static/src/app/common/navigation/sidenav-list.component.scss new file mode 100644 index 0000000..1baa59e --- /dev/null +++ b/static/src/app/common/navigation/sidenav-list.component.scss @@ -0,0 +1,29 @@ +@import url('../../style/blink-indicator.scss'); + +mat-list-item.mat-list-item, a.mat-list-item { + font-size: 16px; + text-decoration: none; + color: #9d9d9d; + + &.active { + background: #000000; + } + + &:hover, &.active { + color: #ffffff; + } +} + +.nav-caption { + display: inline-block; + padding-left: 6px; +} + +mat-divider { + margin: 15% 0; + border-color: #9d9d9d; +} + +button.active { + background: #dadada; +} diff --git a/static/src/app/common/navigation/sidenav-list.component.ts b/static/src/app/common/navigation/sidenav-list.component.ts new file mode 100644 index 0000000..9f2304e --- /dev/null +++ b/static/src/app/common/navigation/sidenav-list.component.ts @@ -0,0 +1,59 @@ +import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; +import {BaseConfig, RouteConfig} from '../../app.config'; +import {LoginService} from '../../services/app-user-service/login-service'; +import {PromotionService} from '../../services/army-management/promotion.service'; +import {AwardingService} from '../../services/army-management/awarding.service'; +import {environment} from '../../../environments/environment'; +import {TranslateService} from '@ngx-translate/core'; +import {SettingsService} from '../../services/settings.service'; + +@Component({ + selector: 'app-sidenav-list', + templateUrl: './sidenav-list.component.html', + styleUrls: ['./sidenav-list.component.scss'] +}) +export class SidenavListComponent implements OnInit { + + @Output() sidenavClose = new EventEmitter(); + + @Output() userLogout = new EventEmitter(); + + @Input() currentUrl; + + readonly features = environment.features; + + readonly availableLanguages = BaseConfig.i18n.availableLanguages; + + config = RouteConfig; + + language; + + constructor(public loginService: LoginService, + public promotionService: PromotionService, + public awardingService: AwardingService, + private translate: TranslateService, + private settingsService: SettingsService) { + } + + ngOnInit() { + this.settingsService.getLanguage().subscribe((language) => { + this.language = language; + this.translate.setDefaultLang(language) + }); + } + + public onSidenavClose() { + this.sidenavClose.emit(); + }; + + public doUserLogout() { + this.userLogout.emit() + }; + + setLanguage(language: string) { + if (language) { + this.language = language; + this.settingsService.setLanguage(language); + } + } +} diff --git a/static/src/app/common/not-found/not-found.component.css b/static/src/app/common/not-found/not-found.component.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/src/app/admin/admin.component.css b/static/src/app/common/not-found/not-found.component.scss similarity index 100% rename from static/src/app/admin/admin.component.css rename to static/src/app/common/not-found/not-found.component.scss diff --git a/static/src/app/common/not-found/not-found.component.ts b/static/src/app/common/not-found/not-found.component.ts index da584de..02eeb8b 100644 --- a/static/src/app/common/not-found/not-found.component.ts +++ b/static/src/app/common/not-found/not-found.component.ts @@ -1,16 +1,9 @@ -import {Component, OnInit} from '@angular/core'; +import {Component} from '@angular/core'; @Component({ selector: 'app-not-found', templateUrl: 'not-found.component.html', - styleUrls: ['not-found.component.css'] + styleUrls: ['not-found.component.scss'] }) -export class NotFoundComponent implements OnInit { - - constructor() { - } - - ngOnInit() { - } - +export class NotFoundComponent { } diff --git a/static/src/app/common/user-interface/list-filter/list-filter.component.css b/static/src/app/common/user-interface/list-filter/list-filter.component.scss similarity index 100% rename from static/src/app/common/user-interface/list-filter/list-filter.component.css rename to static/src/app/common/user-interface/list-filter/list-filter.component.scss diff --git a/static/src/app/common/user-interface/list-filter/list-filter.component.ts b/static/src/app/common/user-interface/list-filter/list-filter.component.ts index b3c7dd2..06eae8d 100644 --- a/static/src/app/common/user-interface/list-filter/list-filter.component.ts +++ b/static/src/app/common/user-interface/list-filter/list-filter.component.ts @@ -4,7 +4,7 @@ import {Fraction} from '../../../utils/fraction.enum'; @Component({ selector: 'cc-list-filter', templateUrl: './list-filter.component.html', - styleUrls: ['./list-filter.component.css'] + styleUrls: ['./list-filter.component.scss'] }) export class ListFilterComponent { diff --git a/static/src/app/common/user-interface/search-field/search-field.component.css b/static/src/app/common/user-interface/search-field/search-field.component.scss similarity index 59% rename from static/src/app/common/user-interface/search-field/search-field.component.css rename to static/src/app/common/user-interface/search-field/search-field.component.scss index 04be8be..b010b31 100644 --- a/static/src/app/common/user-interface/search-field/search-field.component.css +++ b/static/src/app/common/user-interface/search-field/search-field.component.scss @@ -2,3 +2,7 @@ width: 100%; padding-bottom: 20px; } + +input.form-control { + z-index: 0; +} diff --git a/static/src/app/common/user-interface/search-field/search-field.component.ts b/static/src/app/common/user-interface/search-field/search-field.component.ts index 28477d1..31372da 100644 --- a/static/src/app/common/user-interface/search-field/search-field.component.ts +++ b/static/src/app/common/user-interface/search-field/search-field.component.ts @@ -5,7 +5,7 @@ import {ActivatedRoute} from '@angular/router'; @Component({ selector: 'cc-list-search', templateUrl: './search-field.component.html', - styleUrls: ['./search-field.component.css'] + styleUrls: ['./search-field.component.scss'] }) export class SearchFieldComponent implements OnInit { diff --git a/static/src/app/login/login.component.css b/static/src/app/login/login.component.scss similarity index 100% rename from static/src/app/login/login.component.css rename to static/src/app/login/login.component.scss diff --git a/static/src/app/login/login.component.ts b/static/src/app/login/login.component.ts index 35c93a9..e4e22e2 100644 --- a/static/src/app/login/login.component.ts +++ b/static/src/app/login/login.component.ts @@ -8,7 +8,7 @@ import {SnackBarService} from '../services/user-interface/snack-bar/snack-bar.se @Component({ moduleId: module.id, templateUrl: 'login.component.html', - styleUrls: ['login.component.css'] + styleUrls: ['login.component.scss'] }) export class LoginComponent implements OnInit { diff --git a/static/src/app/login/signup.component.ts b/static/src/app/login/signup.component.ts index 6d1db48..95b8599 100644 --- a/static/src/app/login/signup.component.ts +++ b/static/src/app/login/signup.component.ts @@ -8,7 +8,7 @@ import {SnackBarService} from '../services/user-interface/snack-bar/snack-bar.se @Component({ moduleId: module.id, templateUrl: './signup.component.html', - styleUrls: ['./login.component.css'] + styleUrls: ['./login.component.scss'] }) export class SignupComponent implements OnInit { diff --git a/static/src/app/manage/decorations/decoration-list/decoration-item.component.css b/static/src/app/manage/decorations/decoration-list/decoration-item.component.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/src/app/manage/decorations/decoration-list/decoration-item.component.scss b/static/src/app/manage/decorations/decoration-list/decoration-item.component.scss new file mode 100644 index 0000000..709770c --- /dev/null +++ b/static/src/app/manage/decorations/decoration-list/decoration-item.component.scss @@ -0,0 +1 @@ +@import url('../../../style/list-entry.scss'); diff --git a/static/src/app/manage/decorations/decoration-list/decoration-item.component.ts b/static/src/app/manage/decorations/decoration-list/decoration-item.component.ts index 7254b1a..92d7ad7 100644 --- a/static/src/app/manage/decorations/decoration-list/decoration-item.component.ts +++ b/static/src/app/manage/decorations/decoration-list/decoration-item.component.ts @@ -5,7 +5,7 @@ import {Fraction} from '../../../utils/fraction.enum'; @Component({ selector: 'decoration-item', templateUrl: './decoration-item.component.html', - styleUrls: ['./decoration-item.component.css', '../../../style/list-entry.css'], + styleUrls: ['./decoration-item.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush }) export class DecorationItemComponent implements OnInit { diff --git a/static/src/app/manage/decorations/decoration-list/decoration-list.component.css b/static/src/app/manage/decorations/decoration-list/decoration-list.component.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/src/app/manage/decorations/decoration-list/decoration-list.component.scss b/static/src/app/manage/decorations/decoration-list/decoration-list.component.scss new file mode 100644 index 0000000..5eb809a --- /dev/null +++ b/static/src/app/manage/decorations/decoration-list/decoration-list.component.scss @@ -0,0 +1 @@ +@import url('../../../style/select-list.scss'); diff --git a/static/src/app/manage/decorations/decoration-list/decoration-list.component.ts b/static/src/app/manage/decorations/decoration-list/decoration-list.component.ts index 9455526..5160022 100644 --- a/static/src/app/manage/decorations/decoration-list/decoration-list.component.ts +++ b/static/src/app/manage/decorations/decoration-list/decoration-list.component.ts @@ -13,7 +13,7 @@ import {TranslateService} from '@ngx-translate/core'; @Component({ selector: 'cc-decoration-list', templateUrl: './decoration-list.component.html', - styleUrls: ['./decoration-list.component.css', '../../../style/select-list.css'] + styleUrls: ['./decoration-list.component.scss'] }) export class DecorationListComponent implements OnInit { diff --git a/static/src/app/manage/decorations/edit-decoration/edit-decoration.component.css b/static/src/app/manage/decorations/edit-decoration/edit-decoration.component.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/src/app/manage/decorations/edit-decoration/edit-decoration.component.scss b/static/src/app/manage/decorations/edit-decoration/edit-decoration.component.scss new file mode 100644 index 0000000..c51d90c --- /dev/null +++ b/static/src/app/manage/decorations/edit-decoration/edit-decoration.component.scss @@ -0,0 +1,2 @@ +@import url('../../../style/entry-form.scss'); +@import url('../../../style/overview.scss'); diff --git a/static/src/app/manage/decorations/edit-decoration/edit-decoration.component.ts b/static/src/app/manage/decorations/edit-decoration/edit-decoration.component.ts index e248905..6b0a31c 100644 --- a/static/src/app/manage/decorations/edit-decoration/edit-decoration.component.ts +++ b/static/src/app/manage/decorations/edit-decoration/edit-decoration.component.ts @@ -10,7 +10,7 @@ import {TranslateService} from '@ngx-translate/core'; @Component({ templateUrl: './edit-decoration.component.html', - styleUrls: ['./edit-decoration.component.css', '../../../style/entry-form.css', '../../../style/overview.css'] + styleUrls: ['./edit-decoration.component.scss'] }) export class EditDecorationComponent implements OnInit, OnDestroy { diff --git a/static/src/app/manage/ranks/edit-rank/edit-rank.component.css b/static/src/app/manage/ranks/edit-rank/edit-rank.component.css deleted file mode 100644 index 8b13789..0000000 --- a/static/src/app/manage/ranks/edit-rank/edit-rank.component.css +++ /dev/null @@ -1 +0,0 @@ - diff --git a/static/src/app/manage/ranks/edit-rank/edit-rank.component.scss b/static/src/app/manage/ranks/edit-rank/edit-rank.component.scss new file mode 100644 index 0000000..c51d90c --- /dev/null +++ b/static/src/app/manage/ranks/edit-rank/edit-rank.component.scss @@ -0,0 +1,2 @@ +@import url('../../../style/entry-form.scss'); +@import url('../../../style/overview.scss'); diff --git a/static/src/app/manage/ranks/edit-rank/edit-rank.component.ts b/static/src/app/manage/ranks/edit-rank/edit-rank.component.ts index 52659ea..21e3ed9 100644 --- a/static/src/app/manage/ranks/edit-rank/edit-rank.component.ts +++ b/static/src/app/manage/ranks/edit-rank/edit-rank.component.ts @@ -11,7 +11,7 @@ import {TranslateService} from '@ngx-translate/core'; @Component({ templateUrl: './edit-rank.component.html', - styleUrls: ['./edit-rank.component.css', '../../../style/entry-form.css', '../../../style/overview.css'] + styleUrls: ['./edit-rank.component.scss'] }) export class EditRankComponent implements OnInit, OnDestroy { diff --git a/static/src/app/manage/ranks/rank-list/rank-item.component.css b/static/src/app/manage/ranks/rank-list/rank-item.component.scss similarity index 61% rename from static/src/app/manage/ranks/rank-list/rank-item.component.css rename to static/src/app/manage/ranks/rank-list/rank-item.component.scss index a107541..f347814 100644 --- a/static/src/app/manage/ranks/rank-list/rank-item.component.css +++ b/static/src/app/manage/ranks/rank-list/rank-item.component.scss @@ -1,3 +1,5 @@ +@import url('../../../style/list-entry.scss'); + .rank-list-preview { height: 54px; float: left; diff --git a/static/src/app/manage/ranks/rank-list/rank-item.component.ts b/static/src/app/manage/ranks/rank-list/rank-item.component.ts index f94a29d..6dfbfec 100644 --- a/static/src/app/manage/ranks/rank-list/rank-item.component.ts +++ b/static/src/app/manage/ranks/rank-list/rank-item.component.ts @@ -5,7 +5,7 @@ import {Fraction} from '../../../utils/fraction.enum'; @Component({ selector: 'cc-rank-item', templateUrl: './rank-item.component.html', - styleUrls: ['./rank-item.component.css', '../../../style/list-entry.css'], + styleUrls: ['./rank-item.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush }) export class RankItemComponent implements OnInit { diff --git a/static/src/app/manage/ranks/rank-list/rank-list.component.css b/static/src/app/manage/ranks/rank-list/rank-list.component.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/src/app/manage/ranks/rank-list/rank-list.component.scss b/static/src/app/manage/ranks/rank-list/rank-list.component.scss new file mode 100644 index 0000000..5eb809a --- /dev/null +++ b/static/src/app/manage/ranks/rank-list/rank-list.component.scss @@ -0,0 +1 @@ +@import url('../../../style/select-list.scss'); diff --git a/static/src/app/manage/ranks/rank-list/rank-list.component.ts b/static/src/app/manage/ranks/rank-list/rank-list.component.ts index 6577504..0d31691 100644 --- a/static/src/app/manage/ranks/rank-list/rank-list.component.ts +++ b/static/src/app/manage/ranks/rank-list/rank-list.component.ts @@ -13,7 +13,7 @@ import {TranslateService} from '@ngx-translate/core'; @Component({ selector: 'cc-rank-list', templateUrl: './rank-list.component.html', - styleUrls: ['./rank-list.component.css', '../../../style/select-list.css'] + styleUrls: ['./rank-list.component.scss'] }) export class RankListComponent implements OnInit { diff --git a/static/src/app/manage/squads/edit-squad/edit-squad.component.css b/static/src/app/manage/squads/edit-squad/edit-squad.component.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/src/app/manage/squads/edit-squad/edit-squad.component.scss b/static/src/app/manage/squads/edit-squad/edit-squad.component.scss new file mode 100644 index 0000000..c51d90c --- /dev/null +++ b/static/src/app/manage/squads/edit-squad/edit-squad.component.scss @@ -0,0 +1,2 @@ +@import url('../../../style/entry-form.scss'); +@import url('../../../style/overview.scss'); diff --git a/static/src/app/manage/squads/edit-squad/edit-squad.component.ts b/static/src/app/manage/squads/edit-squad/edit-squad.component.ts index 4eeb022..85252cf 100644 --- a/static/src/app/manage/squads/edit-squad/edit-squad.component.ts +++ b/static/src/app/manage/squads/edit-squad/edit-squad.component.ts @@ -11,7 +11,7 @@ import {TranslateService} from '@ngx-translate/core'; @Component({ templateUrl: './edit-squad.component.html', - styleUrls: ['./edit-squad.component.css', '../../../style/entry-form.css', '../../../style/overview.css'] + styleUrls: ['./edit-squad.component.scss'] }) export class EditSquadComponent implements OnInit, OnDestroy { diff --git a/static/src/app/manage/squads/squad-list/squad-item.component.css b/static/src/app/manage/squads/squad-list/squad-item.component.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/src/app/manage/squads/squad-list/squad-item.component.scss b/static/src/app/manage/squads/squad-list/squad-item.component.scss new file mode 100644 index 0000000..709770c --- /dev/null +++ b/static/src/app/manage/squads/squad-list/squad-item.component.scss @@ -0,0 +1 @@ +@import url('../../../style/list-entry.scss'); diff --git a/static/src/app/manage/squads/squad-list/squad-item.component.ts b/static/src/app/manage/squads/squad-list/squad-item.component.ts index 646e5a0..8a17f3f 100644 --- a/static/src/app/manage/squads/squad-list/squad-item.component.ts +++ b/static/src/app/manage/squads/squad-list/squad-item.component.ts @@ -5,7 +5,7 @@ import {Fraction} from '../../../utils/fraction.enum'; @Component({ selector: 'cc-squad-item', templateUrl: './squad-item.component.html', - styleUrls: ['./squad-item.component.css', '../../../style/list-entry.css'], + styleUrls: ['./squad-item.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush }) export class SquadItemComponent implements OnInit { diff --git a/static/src/app/manage/squads/squad-list/squad-list.component.css b/static/src/app/manage/squads/squad-list/squad-list.component.css deleted file mode 100644 index 2a43205..0000000 --- a/static/src/app/manage/squads/squad-list/squad-list.component.css +++ /dev/null @@ -1,3 +0,0 @@ -.search-bar { - padding-bottom: 20px; -} diff --git a/static/src/app/manage/squads/squad-list/squad-list.component.scss b/static/src/app/manage/squads/squad-list/squad-list.component.scss new file mode 100644 index 0000000..70ecc86 --- /dev/null +++ b/static/src/app/manage/squads/squad-list/squad-list.component.scss @@ -0,0 +1,5 @@ +@import url('../../../style/select-list.scss'); + +.search-bar { + padding-bottom: 20px; +} diff --git a/static/src/app/manage/squads/squad-list/squad-list.component.ts b/static/src/app/manage/squads/squad-list/squad-list.component.ts index c4b876f..aa2ca6b 100644 --- a/static/src/app/manage/squads/squad-list/squad-list.component.ts +++ b/static/src/app/manage/squads/squad-list/squad-list.component.ts @@ -13,7 +13,7 @@ import {TranslateService} from '@ngx-translate/core'; @Component({ selector: 'cc-squad-list', templateUrl: './squad-list.component.html', - styleUrls: ['./squad-list.component.css', '../../../style/select-list.css'] + styleUrls: ['./squad-list.component.scss'] }) export class SquadListComponent implements OnInit { diff --git a/static/src/app/manage/users/award-user/award-user.component.css b/static/src/app/manage/users/award-user/award-user.component.scss similarity index 79% rename from static/src/app/manage/users/award-user/award-user.component.css rename to static/src/app/manage/users/award-user/award-user.component.scss index afd1159..a9de331 100644 --- a/static/src/app/manage/users/award-user/award-user.component.css +++ b/static/src/app/manage/users/award-user/award-user.component.scss @@ -1,3 +1,6 @@ +@import url('../../../style/overview.scss'); +@import url('../../../style/hide-scrollbar.scss'); + .decoration-preview { background-color: white; padding: 5px; diff --git a/static/src/app/manage/users/award-user/award-user.component.ts b/static/src/app/manage/users/award-user/award-user.component.ts index 9af1420..04953a7 100644 --- a/static/src/app/manage/users/award-user/award-user.component.ts +++ b/static/src/app/manage/users/award-user/award-user.component.ts @@ -11,7 +11,7 @@ import {TranslateService} from '@ngx-translate/core'; @Component({ templateUrl: './award-user.component.html', - styleUrls: ['./award-user.component.css', '../../../style/overview.css', '../../../style/hide-scrollbar.css'], + styleUrls: ['./award-user.component.scss'], }) export class AwardUserComponent implements OnInit { diff --git a/static/src/app/manage/users/edit-user/edit-user.component.css b/static/src/app/manage/users/edit-user/edit-user.component.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/src/app/manage/users/edit-user/edit-user.component.scss b/static/src/app/manage/users/edit-user/edit-user.component.scss new file mode 100644 index 0000000..c51d90c --- /dev/null +++ b/static/src/app/manage/users/edit-user/edit-user.component.scss @@ -0,0 +1,2 @@ +@import url('../../../style/entry-form.scss'); +@import url('../../../style/overview.scss'); diff --git a/static/src/app/manage/users/edit-user/edit-user.component.ts b/static/src/app/manage/users/edit-user/edit-user.component.ts index 61ec598..9dd56aa 100644 --- a/static/src/app/manage/users/edit-user/edit-user.component.ts +++ b/static/src/app/manage/users/edit-user/edit-user.component.ts @@ -12,7 +12,7 @@ import {SnackBarService} from '../../../services/user-interface/snack-bar/snack- @Component({ templateUrl: './edit-user.component.html', - styleUrls: ['./edit-user.component.css', '../../../style/entry-form.css', '../../../style/overview.css'], + styleUrls: ['./edit-user.component.scss'], }) export class EditUserComponent implements OnInit { diff --git a/static/src/app/admin/user-list/app-user-item.component.css b/static/src/app/manage/users/user-list/user-item.component.scss similarity index 64% rename from static/src/app/admin/user-list/app-user-item.component.css rename to static/src/app/manage/users/user-list/user-item.component.scss index 458e2b3..7a8d6c2 100644 --- a/static/src/app/admin/user-list/app-user-item.component.css +++ b/static/src/app/manage/users/user-list/user-item.component.scss @@ -1,3 +1,5 @@ +@import url('../../../style/list-entry.scss'); + .icon-award { width: 27px; height: 42px; diff --git a/static/src/app/manage/users/user-list/user-item.component.ts b/static/src/app/manage/users/user-list/user-item.component.ts index 0e474cc..a3bb07e 100644 --- a/static/src/app/manage/users/user-list/user-item.component.ts +++ b/static/src/app/manage/users/user-list/user-item.component.ts @@ -6,7 +6,7 @@ import {LoginService} from '../../../services/app-user-service/login-service'; @Component({ selector: 'cc-user-item', templateUrl: './user-item.component.html', - styleUrls: ['./user-item.component.css', '../../../style/list-entry.css'], + styleUrls: ['./user-item.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush }) export class UserItemComponent { diff --git a/static/src/app/manage/users/user-list/user-list.component.css b/static/src/app/manage/users/user-list/user-list.component.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/src/app/manage/users/user-list/user-list.component.scss b/static/src/app/manage/users/user-list/user-list.component.scss new file mode 100644 index 0000000..5eb809a --- /dev/null +++ b/static/src/app/manage/users/user-list/user-list.component.scss @@ -0,0 +1 @@ +@import url('../../../style/select-list.scss'); diff --git a/static/src/app/manage/users/user-list/user-list.component.ts b/static/src/app/manage/users/user-list/user-list.component.ts index 7d5aa35..516ec67 100644 --- a/static/src/app/manage/users/user-list/user-list.component.ts +++ b/static/src/app/manage/users/user-list/user-list.component.ts @@ -14,7 +14,7 @@ import {TranslateService} from '@ngx-translate/core'; @Component({ selector: 'cc-user-list', templateUrl: './user-list.component.html', - styleUrls: ['./user-list.component.css', '../../../style/select-list.css'] + styleUrls: ['./user-list.component.scss'] }) export class UserListComponent { diff --git a/static/src/app/pub/decoration-overview/decoration-overview.component.css b/static/src/app/pub/decoration-overview/decoration-overview.component.scss similarity index 83% rename from static/src/app/pub/decoration-overview/decoration-overview.component.css rename to static/src/app/pub/decoration-overview/decoration-overview.component.scss index 212fce8..29d73fe 100644 --- a/static/src/app/pub/decoration-overview/decoration-overview.component.css +++ b/static/src/app/pub/decoration-overview/decoration-overview.component.scss @@ -1,16 +1,4 @@ -:host { - display: flow-root; - height: 100%; - width: 100%; - margin-top: -23px; - padding-top: 23px; - padding-bottom: 23px; - background-image: url('../../../assets/bg.jpg'); - background-size: cover; - background-attachment: fixed; - background-position: top; - background-repeat: no-repeat; -} +@import url('../../style/background-image.scss'); h1 { margin-bottom: 30px; @@ -19,7 +7,12 @@ h1 { .decoration-overview-container { position: relative; + z-index: 0; margin: auto 140px 30px; + + @media all and (max-width: 959px) { + margin: auto; + } } :host /deep/ .mat-tab-header { 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 b2de28d..1d5e5b4 100644 --- a/static/src/app/pub/decoration-overview/decoration-overview.component.ts +++ b/static/src/app/pub/decoration-overview/decoration-overview.component.ts @@ -12,7 +12,7 @@ import {Location} from '@angular/common'; @Component({ selector: 'cc-decoration-overview', templateUrl: './decoration-overview.component.html', - styleUrls: ['./decoration-overview.component.css'] + styleUrls: ['./decoration-overview.component.scss'] }) export class DecorationOverviewComponent implements OnInit, OnDestroy { 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.scss similarity index 100% rename from static/src/app/pub/decoration-overview/decoration-panel/decoration-panel.component.css rename to static/src/app/pub/decoration-overview/decoration-panel/decoration-panel.component.scss diff --git a/static/src/app/pub/decoration-overview/decoration-panel/decoration-panel.component.ts b/static/src/app/pub/decoration-overview/decoration-panel/decoration-panel.component.ts index c702f30..8d5d0eb 100644 --- a/static/src/app/pub/decoration-overview/decoration-panel/decoration-panel.component.ts +++ b/static/src/app/pub/decoration-overview/decoration-panel/decoration-panel.component.ts @@ -7,7 +7,7 @@ import {Fraction} from '../../../utils/fraction.enum'; @Component({ selector: 'cc-decoration-panel', templateUrl: './decoration-panel.component.html', - styleUrls: ['./decoration-panel.component.css'] + styleUrls: ['./decoration-panel.component.scss'] }) export class DecorationPanelComponent { diff --git a/static/src/app/pub/rank-overview/rank-overview.component.css b/static/src/app/pub/rank-overview/rank-overview.component.scss similarity index 57% rename from static/src/app/pub/rank-overview/rank-overview.component.css rename to static/src/app/pub/rank-overview/rank-overview.component.scss index 3c29700..6d06b56 100644 --- a/static/src/app/pub/rank-overview/rank-overview.component.css +++ b/static/src/app/pub/rank-overview/rank-overview.component.scss @@ -1,17 +1,4 @@ -:host { - display: flow-root; - height: 100%; - min-height: 100vh; - width: 100%; - margin-top: -23px; - padding-top: 23px; - padding-bottom: 23px; - background-image: url('../../../assets/bg.jpg'); - background-size: cover; - background-attachment: fixed; - background-position: top; - background-repeat: no-repeat; -} +@import url('../../style/background-image.scss'); table { width: 100%; diff --git a/static/src/app/pub/rank-overview/rank-overview.component.ts b/static/src/app/pub/rank-overview/rank-overview.component.ts index f4931b3..841a463 100644 --- a/static/src/app/pub/rank-overview/rank-overview.component.ts +++ b/static/src/app/pub/rank-overview/rank-overview.component.ts @@ -10,7 +10,7 @@ import {UserListSheetComponent} from '../user-list-sheet/user-list-sheet.compone @Component({ selector: 'cc-rank-overview', templateUrl: './rank-overview.component.html', - styleUrls: ['./rank-overview.component.css'] + styleUrls: ['./rank-overview.component.scss'] }) export class RankOverviewComponent implements OnInit, OnDestroy { diff --git a/static/src/app/pub/rank-overview/rank-panel/rank-panel.component.css b/static/src/app/pub/rank-overview/rank-panel/rank-panel.component.scss similarity index 100% rename from static/src/app/pub/rank-overview/rank-panel/rank-panel.component.css rename to static/src/app/pub/rank-overview/rank-panel/rank-panel.component.scss diff --git a/static/src/app/pub/rank-overview/rank-panel/rank-panel.component.ts b/static/src/app/pub/rank-overview/rank-panel/rank-panel.component.ts index 03b93f1..2f4ed2e 100644 --- a/static/src/app/pub/rank-overview/rank-panel/rank-panel.component.ts +++ b/static/src/app/pub/rank-overview/rank-panel/rank-panel.component.ts @@ -5,7 +5,7 @@ import {Fraction} from '../../../utils/fraction.enum'; @Component({ selector: 'cc-rank-panel', templateUrl: './rank-panel.component.html', - styleUrls: ['./rank-panel.component.css'] + styleUrls: ['./rank-panel.component.scss'] }) export class RankPanelComponent { diff --git a/static/src/app/request/award/req-award.component.css b/static/src/app/request/award/req-award.component.scss similarity index 90% rename from static/src/app/request/award/req-award.component.css rename to static/src/app/request/award/req-award.component.scss index dd5deea..cf92a6d 100644 --- a/static/src/app/request/award/req-award.component.css +++ b/static/src/app/request/award/req-award.component.scss @@ -1,3 +1,5 @@ +@import url('../../style/overview.scss'); + .overview { width: 100% !important; margin-left: 25px !important; diff --git a/static/src/app/request/award/req-award.component.ts b/static/src/app/request/award/req-award.component.ts index 6ef08f6..21407be 100644 --- a/static/src/app/request/award/req-award.component.ts +++ b/static/src/app/request/award/req-award.component.ts @@ -11,7 +11,7 @@ import {SnackBarService} from '../../services/user-interface/snack-bar/snack-bar @Component({ templateUrl: './req-award.component.html', - styleUrls: ['./req-award.component.css', '../../style/overview.css'], + styleUrls: ['./req-award.component.scss'], }) export class RequestAwardComponent implements OnInit { diff --git a/static/src/app/request/confirm-promotion/confirm-promotion.component.css b/static/src/app/request/confirm-award/confirm-award.component.scss similarity index 88% rename from static/src/app/request/confirm-promotion/confirm-promotion.component.css rename to static/src/app/request/confirm-award/confirm-award.component.scss index 2d7ee71..07c2b42 100644 --- a/static/src/app/request/confirm-promotion/confirm-promotion.component.css +++ b/static/src/app/request/confirm-award/confirm-award.component.scss @@ -1,3 +1,5 @@ +@import url('../../style/overview.scss'); + .overview { margin-left: 25px !important; } diff --git a/static/src/app/request/confirm-award/confirm-award.component.ts b/static/src/app/request/confirm-award/confirm-award.component.ts index cfc7101..a047134 100644 --- a/static/src/app/request/confirm-award/confirm-award.component.ts +++ b/static/src/app/request/confirm-award/confirm-award.component.ts @@ -7,7 +7,7 @@ import {SnackBarService} from '../../services/user-interface/snack-bar/snack-bar @Component({ templateUrl: './confirm-award.component.html', - styleUrls: ['./confirm-award.component.css', '../../style/overview.css'], + styleUrls: ['./confirm-award.component.scss'], }) export class ConfirmAwardComponent implements OnInit { diff --git a/static/src/app/request/confirm-award/confirm-award.component.css b/static/src/app/request/confirm-promotion/confirm-promotion.component.scss similarity index 88% rename from static/src/app/request/confirm-award/confirm-award.component.css rename to static/src/app/request/confirm-promotion/confirm-promotion.component.scss index 2d7ee71..07c2b42 100644 --- a/static/src/app/request/confirm-award/confirm-award.component.css +++ b/static/src/app/request/confirm-promotion/confirm-promotion.component.scss @@ -1,3 +1,5 @@ +@import url('../../style/overview.scss'); + .overview { margin-left: 25px !important; } diff --git a/static/src/app/request/confirm-promotion/confirm-promotion.component.ts b/static/src/app/request/confirm-promotion/confirm-promotion.component.ts index efb9af8..6bd2e21 100644 --- a/static/src/app/request/confirm-promotion/confirm-promotion.component.ts +++ b/static/src/app/request/confirm-promotion/confirm-promotion.component.ts @@ -8,7 +8,7 @@ import {SnackBarService} from '../../services/user-interface/snack-bar/snack-bar @Component({ templateUrl: './confirm-promotion.component.html', - styleUrls: ['./confirm-promotion.component.css', '../../style/overview.css'], + styleUrls: ['./confirm-promotion.component.scss'], }) export class ConfirmPromotionComponent implements OnInit { diff --git a/static/src/app/request/promotion/req-promotion.component.css b/static/src/app/request/promotion/req-promotion.component.scss similarity index 89% rename from static/src/app/request/promotion/req-promotion.component.css rename to static/src/app/request/promotion/req-promotion.component.scss index e799ab8..5e40c75 100644 --- a/static/src/app/request/promotion/req-promotion.component.css +++ b/static/src/app/request/promotion/req-promotion.component.scss @@ -1,3 +1,5 @@ +@import url('../../style/overview.scss'); + .overview { margin-left: 25px !important; } diff --git a/static/src/app/request/promotion/req-promotion.component.ts b/static/src/app/request/promotion/req-promotion.component.ts index d50f5e4..1c72b98 100644 --- a/static/src/app/request/promotion/req-promotion.component.ts +++ b/static/src/app/request/promotion/req-promotion.component.ts @@ -11,7 +11,7 @@ import {SnackBarService} from '../../services/user-interface/snack-bar/snack-bar @Component({ templateUrl: './req-promotion.component.html', - styleUrls: ['./req-promotion.component.css', '../../style/overview.css'], + styleUrls: ['./req-promotion.component.scss'], }) export class RequestPromotionComponent implements OnInit { diff --git a/static/src/app/request/request.component.css b/static/src/app/request/request.component.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/src/app/admin/edit-app-user/edit-app-user.component.css b/static/src/app/request/request.component.scss similarity index 100% rename from static/src/app/admin/edit-app-user/edit-app-user.component.css rename to static/src/app/request/request.component.scss diff --git a/static/src/app/request/request.component.ts b/static/src/app/request/request.component.ts index 4eee227..3a7e414 100644 --- a/static/src/app/request/request.component.ts +++ b/static/src/app/request/request.component.ts @@ -5,7 +5,7 @@ import {SettingsService} from '../services/settings.service'; @Component({ selector: 'cc-request-root', templateUrl: 'request.component.html', - styleUrls: ['request.component.css'] + styleUrls: ['request.component.scss'] }) export class RequestComponent { constructor(private translate: TranslateService, diff --git a/static/src/app/request/sql-dashboard/sql-dashboard.component.css b/static/src/app/request/sql-dashboard/sql-dashboard.component.scss similarity index 87% rename from static/src/app/request/sql-dashboard/sql-dashboard.component.css rename to static/src/app/request/sql-dashboard/sql-dashboard.component.scss index 45d7a13..9a8d311 100644 --- a/static/src/app/request/sql-dashboard/sql-dashboard.component.css +++ b/static/src/app/request/sql-dashboard/sql-dashboard.component.scss @@ -1,3 +1,5 @@ +@import url('../../style/overview.scss'); + .overview { margin-left: 25px !important; } diff --git a/static/src/app/request/sql-dashboard/sql-dashboard.component.ts b/static/src/app/request/sql-dashboard/sql-dashboard.component.ts index 39d21e4..17ba27b 100644 --- a/static/src/app/request/sql-dashboard/sql-dashboard.component.ts +++ b/static/src/app/request/sql-dashboard/sql-dashboard.component.ts @@ -9,7 +9,7 @@ import {AwardingService} from '../../services/army-management/awarding.service'; @Component({ templateUrl: './sql-dashboard.component.html', - styleUrls: ['./sql-dashboard.component.css', '../../style/overview.css'], + styleUrls: ['./sql-dashboard.component.scss'], }) export class SqlDashboardComponent implements OnInit { diff --git a/static/src/app/shared.module.ts b/static/src/app/shared.module.ts index 298a752..4957104 100644 --- a/static/src/app/shared.module.ts +++ b/static/src/app/shared.module.ts @@ -4,8 +4,10 @@ import {ShowErrorComponent} from './common/show-error/show-error.component'; import {CommonModule} from '@angular/common'; import {ListFilterComponent} from './common/user-interface/list-filter/list-filter.component'; import {SearchFieldComponent} from './common/user-interface/search-field/search-field.component'; -import {MatButtonToggleModule, MatTooltipModule, MatSlideToggleModule, MatFormFieldModule, MatOptionModule, MatSelectModule, - MatInputModule} from '@angular/material'; +import { + MatButtonToggleModule, MatTooltipModule, MatSlideToggleModule, MatFormFieldModule, MatOptionModule, MatSelectModule, + MatInputModule, MatSidenavModule, MatSnackBarModule +} from '@angular/material'; import {MatButtonModule} from '@angular/material/button'; import {MatIconModule} from '@angular/material/icon'; import {TranslateLoader, TranslateModule} from '@ngx-translate/core'; @@ -35,6 +37,7 @@ export function createTranslateLoader(http: HttpClient) { MatFormFieldModule, MatOptionModule, MatSelectModule, + MatSnackBarModule, MatInputModule, TranslateModule.forRoot({ diff --git a/static/src/app/statistic/campaign/campaign-navigation/campaign-navigation.component.css b/static/src/app/statistic/campaign/campaign-navigation/campaign-navigation.component.scss similarity index 100% rename from static/src/app/statistic/campaign/campaign-navigation/campaign-navigation.component.css rename to static/src/app/statistic/campaign/campaign-navigation/campaign-navigation.component.scss diff --git a/static/src/app/statistic/campaign/campaign-navigation/campaign-navigation.component.ts b/static/src/app/statistic/campaign/campaign-navigation/campaign-navigation.component.ts index 292896a..1884c34 100644 --- a/static/src/app/statistic/campaign/campaign-navigation/campaign-navigation.component.ts +++ b/static/src/app/statistic/campaign/campaign-navigation/campaign-navigation.component.ts @@ -15,7 +15,7 @@ import {CampaignService} from '../../../services/logs/campaign.service'; @Component({ selector: 'campaign-navigation', templateUrl: './campaign-navigation.component.html', - styleUrls: ['./campaign-navigation.component.css'] + styleUrls: ['./campaign-navigation.component.scss'] }) export class CampaignNavigationComponent implements OnInit { diff --git a/static/src/app/statistic/campaign/campaign-player-detail/campaign-player-detail.component.scss b/static/src/app/statistic/campaign/campaign-player-detail/campaign-player-detail.component.scss index 58a0d9c..43084a7 100644 --- a/static/src/app/statistic/campaign/campaign-player-detail/campaign-player-detail.component.scss +++ b/static/src/app/statistic/campaign/campaign-player-detail/campaign-player-detail.component.scss @@ -1,3 +1,7 @@ +@import url('../../../style/overview.scss'); +@import url('../../../style/list-entry.scss'); +@import url('../../../style/hide-scrollbar.scss'); + .player-campaign-detail-container { padding: 0 1% 0 1%; border-top: thin solid lightgrey; diff --git a/static/src/app/statistic/campaign/campaign-player-detail/campaign-player-detail.component.ts b/static/src/app/statistic/campaign/campaign-player-detail/campaign-player-detail.component.ts index 0680e40..76591e2 100644 --- a/static/src/app/statistic/campaign/campaign-player-detail/campaign-player-detail.component.ts +++ b/static/src/app/statistic/campaign/campaign-player-detail/campaign-player-detail.component.ts @@ -9,8 +9,7 @@ import {TranslateService} from '@ngx-translate/core'; @Component({ selector: 'campaign-player-detail', templateUrl: './campaign-player-detail.component.html', - styleUrls: ['./campaign-player-detail.component.scss', '../../../style/list-entry.css', - '../../../style/hide-scrollbar.css', '../../../style/overview.css'] + styleUrls: ['./campaign-player-detail.component.scss'] }) export class CampaignPlayerDetailComponent implements OnInit { diff --git a/static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.css b/static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.css deleted file mode 100644 index 050f0f5..0000000 --- a/static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.css +++ /dev/null @@ -1,3 +0,0 @@ -form { - margin-top: 45px; -} diff --git a/static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.scss b/static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.scss new file mode 100644 index 0000000..135581c --- /dev/null +++ b/static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.scss @@ -0,0 +1,6 @@ +@import url('../../../style/entry-form.scss'); +@import url('../../../style/overview.scss'); + +form { + margin-top: 45px; +} diff --git a/static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.ts b/static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.ts index d4e586b..dc78028 100644 --- a/static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.ts +++ b/static/src/app/statistic/campaign/campaign-submit/campaign-submit.component.ts @@ -10,7 +10,7 @@ import {SnackBarService} from '../../../services/user-interface/snack-bar/snack- @Component({ selector: 'campaign-submit', templateUrl: './campaign-submit.component.html', - styleUrls: ['./campaign-submit.component.css', '../../../style/entry-form.css', '../../../style/overview.css'] + styleUrls: ['./campaign-submit.component.scss'] }) export class CampaignSubmitComponent { diff --git a/static/src/app/statistic/campaign/highscore/highscore.component.css b/static/src/app/statistic/campaign/highscore/highscore.component.scss similarity index 83% rename from static/src/app/statistic/campaign/highscore/highscore.component.css rename to static/src/app/statistic/campaign/highscore/highscore.component.scss index 99cf434..4948a27 100644 --- a/static/src/app/statistic/campaign/highscore/highscore.component.css +++ b/static/src/app/statistic/campaign/highscore/highscore.component.scss @@ -1,3 +1,9 @@ +@import url('../../../style/overview.scss'); +@import url('../../../style/list-entry.scss'); + +$highscore-table-width: 320px; +$highscore-table-height: 394px; + h2 { margin-left: 10%; } @@ -12,8 +18,9 @@ h2 { } .highscore-table-container { - width: 320px; - max-height: 394px; + width: $highscore-table-width; + min-height: $highscore-table-height; + max-height: $highscore-table-height; margin: 50px 0 50px 8%; float: left; overflow-x: hidden; @@ -28,7 +35,7 @@ h2 { :host /deep/ table.mat-table > thead { position: absolute; - width: 320px; + width: $highscore-table-width; display: inherit; margin-left: -1px; margin-top: -57px; diff --git a/static/src/app/statistic/campaign/highscore/highscore.component.ts b/static/src/app/statistic/campaign/highscore/highscore.component.ts index 9dfaf26..26d5509 100644 --- a/static/src/app/statistic/campaign/highscore/highscore.component.ts +++ b/static/src/app/statistic/campaign/highscore/highscore.component.ts @@ -11,7 +11,7 @@ import {PlayerUtils} from '../../../utils/player-utils'; @Component({ selector: 'cc-stats-highscore', templateUrl: './highscore.component.html', - styleUrls: ['./highscore.component.css', '../../../style/list-entry.css', '../../../style/overview.css'] + styleUrls: ['./highscore.component.scss'] }) export class StatisticHighScoreComponent implements OnInit { diff --git a/static/src/app/statistic/campaign/overview/campaign-overview.component.css b/static/src/app/statistic/campaign/overview/campaign-overview.component.scss similarity index 100% rename from static/src/app/statistic/campaign/overview/campaign-overview.component.css rename to static/src/app/statistic/campaign/overview/campaign-overview.component.scss diff --git a/static/src/app/statistic/campaign/overview/campaign-overview.component.ts b/static/src/app/statistic/campaign/overview/campaign-overview.component.ts index 78e17e6..0a9a338 100644 --- a/static/src/app/statistic/campaign/overview/campaign-overview.component.ts +++ b/static/src/app/statistic/campaign/overview/campaign-overview.component.ts @@ -9,7 +9,7 @@ import {WarService} from '../../../services/logs/war.service'; @Component({ selector: 'cc-campaign-overview', templateUrl: './campaign-overview.component.html', - styleUrls: ['./campaign-overview.component.css'] + styleUrls: ['./campaign-overview.component.scss'] }) export class StatisticOverviewComponent implements OnInit { diff --git a/static/src/app/statistic/stats.component.html b/static/src/app/statistic/stats.component.html index 32f2c7f..f82158e 100644 --- a/static/src/app/statistic/stats.component.html +++ b/static/src/app/statistic/stats.component.html @@ -12,7 +12,7 @@ [collapsed]="collapsed" [campaign]="selectedCampaign"> -
+