diff --git a/client/package-lock.json b/client/package-lock.json index a5d87d43e..8e0501f64 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -116,13 +116,21 @@ } }, "@angular/animations": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.0.4.tgz", - "integrity": "sha512-Ro1XEwShk8XRAogfu73fKLTBLnND1s+MGhN+ymwr7ib9hqxVr7jMNE+MXPqG2/1BX9c+7NHb30B8G4woQn62vw==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.0.6.tgz", + "integrity": "sha512-mJvWn0GuYARJfV9/KNUn5qUc5iNJKMSSNm//pRtUB8n829KnJHLnGpNsr95dzARH5wI3Om/t6hG3M0XCLbIfNQ==", "requires": { "tslib": "^1.9.0" } }, + "@angular/cdk": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-6.3.0.tgz", + "integrity": "sha512-L1NM2hU8xvb35mDKIw+SR9UZGZtbSQl6fmd9X/tedaNYjIvyQ7SIX7iDJ+LqD0xUQopB+SeuhDL7D6IwGMV2bQ==", + "requires": { + "tslib": "^1.7.1" + } + }, "@angular/cli": { "version": "6.0.8", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-6.0.8.tgz", @@ -161,25 +169,25 @@ } }, "@angular/common": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.0.4.tgz", - "integrity": "sha512-z2UE6a43u49omsqjzwdHhwD+wpCPauuD13FMkVQMLwzugKhNri0LjMk5I0I9xLz9OyXICm2B+wPAQN4d07savg==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.0.6.tgz", + "integrity": "sha512-SjCrrGNJSeRMtNLv/ug5HpyRUexdNl11TrWCWMeu3ye3ss4k6EnuM9jGB196B0PIm0IbjO0KrpQ8bqBx0/2vqw==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.0.4.tgz", - "integrity": "sha512-qwjuPacuRKUroD+xev653mljV9Jwhi2tvwGo/cVadq0isJ2rVH1hO6sa1FWFnNf1KPnyolMobZlMgg8DFW/yRw==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.0.6.tgz", + "integrity": "sha512-lcDNfkYLOWzOOqdD2Kspxwjk3xGs8kVLbq/8uk/aJ96ty8aA9j8Nbf3h53SCY9LuGoJMjOaaUpgwZCszFzqQyA==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler-cli": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.0.4.tgz", - "integrity": "sha512-bkN21JJrsbIdXNfOc9I9iB7AETUe4/QvApC25R3/pERSyhkK7UNNHTqg4FY5xMdSxlZd1ccWj8rvSbS+hFbTBw==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.0.6.tgz", + "integrity": "sha512-vWJK+X6B63+kdAN2s7Az1NHF4gAbECf1fkB+zkO6pP706teW4VlN2xdXeHLXgvK39iDJbhbctTnDfhqIaPmyjw==", "dev": true, "requires": { "chokidar": "^1.4.2", @@ -322,55 +330,63 @@ } }, "@angular/core": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.0.4.tgz", - "integrity": "sha512-WCW8wyRoIKkjGjOjVLFpUyhQw/K0//s3W0qo1/vH6m9njC63jP/VP+2Xnt8bdtgeET2NYUeyl+w/0vUXqYlnEA==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.0.6.tgz", + "integrity": "sha512-7J4wuQ5Bss2GmCptyXSfmgWk/IbCFK/MJwaXOpADLB9iWOkOIvKRSTntb4l6j3OVd9boCbs6Z/xW/HT964iMvw==", "requires": { "tslib": "^1.9.0" } }, "@angular/forms": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.0.4.tgz", - "integrity": "sha512-JcKyCCkAwF3NlWuwPxtpRhFX/8QbFUkA4W0N62L+Odm8G0/P4QhMw/99o5kRs5xrsQRVyFlGvdYOrkgDyyZkGg==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.0.6.tgz", + "integrity": "sha512-uVcvUz8JzO/R6HtxIUtefjK55nf4gJt9WjVdnjmA66pQe1+aQYscyQu9QFykGfGqta/0luhVSU7J+5g0rIRr/g==", "requires": { "tslib": "^1.9.0" } }, "@angular/http": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.0.4.tgz", - "integrity": "sha512-bq7cS0/5hM3Af3FolEe7HpKP19/7MJWIPGi5k9rYCGM4dXKFiKa+LA/SbXE0DMiKxhAQbZDwQ9HN04r70DRyBQ==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.0.6.tgz", + "integrity": "sha512-ZyY7JS3lQM0HnKfoCJl+S9ZHeQVdG+FefjYE2s7pBKUufaoMo9DTIfQe5ZgSQeXRAFKjuUyJDf1EZlPVVvQzIw==", "requires": { "tslib": "^1.9.0" } }, "@angular/language-service": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-6.0.4.tgz", - "integrity": "sha512-LyFh/sFtnyjJJYO5UKM31nGSSkmGYFMwqzwbG+l0QNQXNoa9jj+OApvu0oOY5F0WP9DBrOAzj74j2M5olprtMQ==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-6.0.6.tgz", + "integrity": "sha512-6zRuKreMPlLQkLGS7KaJ4xehwirPbst+S6tQZltcSHjgIKrZBu3acL7/tUo5G5jQW6OnPXWK9UYs2kCffPS3AQ==", "dev": true }, + "@angular/material": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-6.3.0.tgz", + "integrity": "sha512-asSzdfLkDDbQEyM/GKUxrlvuj8OvO5DqrNJ3e3uvi0OmZDpaO50yubQvrJ26nbqgwgRo+qwiGNN6XcFwYTRVPQ==", + "requires": { + "tslib": "^1.7.1" + } + }, "@angular/platform-browser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.0.4.tgz", - "integrity": "sha512-4y6rSqOLuBs+RL0CIM+RZ5T8a5Tm1NisZcTUGvM8lVYPNkqTzNfHQXhBq8mTgRw9JopEwOj+UEqBbgrNX715yQ==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.0.6.tgz", + "integrity": "sha512-c+2c4Ba8IeIt9CnF1RmJVf/0xwljT9GSIJUC61SLrX01NMwRxDq/LC+tatcBGLzZ6rc1eYmsd1exTHOGfENOxw==", "requires": { "tslib": "^1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.0.4.tgz", - "integrity": "sha512-uh7MoQi9kyKPFHrD7HPOU5gWyhF4pPJuGltyMTOtM/f5TNL9QQI2EugijKnnSFLQ8+7UQjmFAVeRqH9jylhIyQ==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.0.6.tgz", + "integrity": "sha512-t5+dvfcwVaDa5H8qsVnPAvmNJa0rDwJMu1T6kfz8sAxzgiw6tOvIQShJX0Ka94+nPpd4mg7gv43VV705z6ryMA==", "requires": { "tslib": "^1.9.0" } }, "@angular/router": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.0.4.tgz", - "integrity": "sha512-IKUtbbRtHN8I+Hp8/pLqBPyXJmQHrPFGzKU3H43TovD++mmT5AaYVCeJgkGUB//wjtLN3y0X/yrmyWFWcN35Gw==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.0.6.tgz", + "integrity": "sha512-R49Gh/ate//AloPGjtQ2Nl3HNMT21pumcUoWZEZtYw8UyTbxSKLMc40yzdsldGrKZ/G/CafFTaS1hpZD7MF5/w==", "requires": { "tslib": "^1.9.0" } @@ -384,24 +400,24 @@ } }, "@fortawesome/fontawesome-common-types": { - "version": "0.2.0-9", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.0-9.tgz", - "integrity": "sha512-V+PyKLFoFvfg9hj4weCjWVYPKvUI5hFLlPxPzb/SIrI9zhlOibHKtVpOy577fIXV7HFTy+FpeSlMDrhkV76dfA==" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.0.tgz", + "integrity": "sha512-raAiqWiXGZeQpFzz5fpLa6EQR3kSAK1cT5qaUanB9h4FatXvKEOPutDyeGQsF0hRtGfMb518Mzc7+LjBPDJCOg==" }, "@fortawesome/fontawesome-svg-core": { - "version": "1.2.0-14", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.0-14.tgz", - "integrity": "sha512-V13Ou3UZ+Y0J5WTnhHDUmZFsz8ycxAyGaowrrPu7uuZXVT78/l4OCrOP6y5U6PdZoy3VJbZvkxCXZyTA6C32fA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.0.tgz", + "integrity": "sha512-Wqh3kxcxeFCCLN3LevXJaZiBZ9V8ggOUpcQC+TBIaQIPNtMmUwsghLVpI6ojYKjoIvKi1nyAR9wpOTUVoxl4rA==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.0-9" + "@fortawesome/fontawesome-common-types": "^0.2.0" } }, "@fortawesome/free-solid-svg-icons": { - "version": "5.1.0-11", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.1.0-11.tgz", - "integrity": "sha512-Dc5EaDbQryTRSt96NzxEnENX+bcKXun3mpvdPt8rSkx3Kf8Kyda60qaA3Or6AKfNYcxLup5Q6zwfWdhdhTNrpQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.1.0.tgz", + "integrity": "sha512-MijNhBFEporjnyg1BDnyBWwypFa+RkmQFqX94NZa7xWGIKirvujw2JG0BRR9jQZPFHcI4pRzhXMxBxUUi786yA==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.0-9" + "@fortawesome/fontawesome-common-types": "^0.2.0" } }, "@ngtools/webpack": { @@ -1550,11 +1566,6 @@ "hoek": "2.x.x" } }, - "bootstrap": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz", - "integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E=" - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3971,14 +3982,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" @@ -3993,20 +4002,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", @@ -4123,8 +4129,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -4136,7 +4141,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -4151,7 +4155,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -4159,14 +4162,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" @@ -4185,7 +4186,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -4266,8 +4266,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -4279,7 +4278,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -4401,7 +4399,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", @@ -6150,9 +6147,9 @@ } }, "karma": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.3.tgz", - "integrity": "sha512-7bVCQs8+DCLWj5TIUBIgPa95/o8X9pBhyF+E2hX51Z6Ttq2biYWQlynBmunKZGRyNOIyg89TnVtC58q9eGBFFw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.4.tgz", + "integrity": "sha512-32yhTwoi6BZgJZhR78GwhzyFABbYG/1WwQqYgY7Vh96Demvua2jM3+FyRltIMTUH/Kd5xaQvDw2L7jTvkYFeXg==", "dev": true, "requires": { "bluebird": "^3.3.0", @@ -6455,9 +6452,9 @@ } }, "log4js": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.9.0.tgz", - "integrity": "sha512-pptn4+5Q3ysOW6Jgm9lzhDUCFEYv7FLrazEzPQQlxgSP+IVl5HMPgT8hm2DyRqGY4GUiVjZz4XXRvTZ9BELQyw==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.10.0.tgz", + "integrity": "sha512-NnhN9PjFF9zhxinAjlmDYvkqqrIW+yA3LLJAoTJ3fs6d1zru86OqQHfsxiUcc1kRq3z+faGR4DeyXUfiNbVxKQ==", "dev": true, "requires": { "amqplib": "^0.5.2", @@ -6712,9 +6709,9 @@ } }, "mailgun-js": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.18.0.tgz", - "integrity": "sha512-o0P6jjZlx5CQj12tvVgDTbgjTqVN0+5h6/6P1+3c6xmozVKBwniQ6Qt3MkCSF0+ueVTbobAfWyGpWRZMJu8t1g==", + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.18.1.tgz", + "integrity": "sha512-lvuMP14u24HS2uBsJEnzSyPMxzU2b99tQsIx1o6QNjqxjk8b3WvR+vq5oG1mjqz/IBYo+5gF+uSoDS0RkMVHmg==", "dev": true, "optional": true, "requires": { @@ -8464,9 +8461,9 @@ "dev": true }, "prettier": { - "version": "1.13.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.5.tgz", - "integrity": "sha512-4M90mfvLz6yRf2Dhzd+xPIE6b4xkI8nHMJhsSm9IlfG17g6wujrrm7+H1X8x52tC4cSNm6HmuhCUSNe6Hd5wfw==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.6.tgz", + "integrity": "sha512-p5eqCNiohWZN++7aJXUVj0JgLqHCPLf9GLIcLBHGNWs4Y9FJOPs6+KNO2WT0udJIQJTbeZFrJkjzjcb8fkAYYQ==", "dev": true }, "pretty-error": { @@ -9352,9 +9349,9 @@ } }, "rxjs": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.0.tgz", - "integrity": "sha512-qBzf5uu6eOKiCZuAE0SgZ0/Qp+l54oeVxFfC2t+mJ2SFI6IB8gmMdJHs5DUMu5kqifqcCtsKS2XHjhZu6RKvAw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.1.tgz", + "integrity": "sha512-OwMxHxmnmHTUpgO+V7dZChf3Tixf4ih95cmXjzzadULziVl/FKhHScGLj4goEw9weePVOH2Q0+GcCBUhKCZc/g==", "requires": { "tslib": "^1.9.0" } diff --git a/client/package.json b/client/package.json index 42477d911..c557b70a9 100644 --- a/client/package.json +++ b/client/package.json @@ -13,28 +13,29 @@ }, "private": true, "dependencies": { - "@angular/animations": "^6.0.3", - "@angular/common": "^6.0.3", - "@angular/compiler": "^6.0.3", - "@angular/core": "^6.0.3", - "@angular/forms": "^6.0.3", - "@angular/http": "^6.0.3", - "@angular/platform-browser": "^6.0.3", - "@angular/platform-browser-dynamic": "^6.0.3", - "@angular/router": "^6.0.3", - "@fortawesome/angular-fontawesome": "^0.1.0-10", - "@fortawesome/fontawesome-svg-core": "^1.2.0-11", - "@fortawesome/free-solid-svg-icons": "^5.1.0-11", - "bootstrap": "^3.3.7", + "@angular/animations": "^6.0.6", + "@angular/cdk": "^6.3.0", + "@angular/common": "^6.0.6", + "@angular/compiler": "^6.0.6", + "@angular/core": "^6.0.6", + "@angular/forms": "^6.0.6", + "@angular/http": "^6.0.6", + "@angular/material": "^6.3.0", + "@angular/platform-browser": "^6.0.6", + "@angular/platform-browser-dynamic": "^6.0.6", + "@angular/router": "^6.0.6", + "@fortawesome/angular-fontawesome": "0.1.0-10", + "@fortawesome/fontawesome-svg-core": "^1.2.0", + "@fortawesome/free-solid-svg-icons": "^5.1.0", "core-js": "^2.5.4", - "rxjs": "^6.0.0", + "rxjs": "^6.2.1", "zone.js": "^0.8.26" }, "devDependencies": { "@angular-devkit/build-angular": "~0.6.8", "@angular/cli": "~6.0.8", - "@angular/compiler-cli": "^6.0.3", - "@angular/language-service": "^6.0.3", + "@angular/compiler-cli": "^6.0.6", + "@angular/language-service": "^6.0.6", "@types/jasmine": "~2.8.6", "@types/jasminewd2": "~2.0.3", "@types/node": "~8.9.4", @@ -42,13 +43,13 @@ "husky": "^0.14.3", "jasmine-core": "~2.99.1", "jasmine-spec-reporter": "~4.2.1", - "karma": "^2.0.3", + "karma": "^2.0.4", "karma-chrome-launcher": "~2.2.0", "karma-coverage-istanbul-reporter": "~2.0.0", "karma-jasmine": "~1.1.1", "karma-jasmine-html-reporter": "^0.2.2", "npm-run-all": "^4.1.3", - "prettier": "^1.13.5", + "prettier": "^1.13.6", "pretty-quick": "^1.6.0", "protractor": "~5.3.0", "ts-node": "~5.0.1", diff --git a/client/src/app/app.component.css b/client/src/app/app.component.css index e8b192b6d..e69de29bb 100644 --- a/client/src/app/app.component.css +++ b/client/src/app/app.component.css @@ -1,7 +0,0 @@ -.loginForm .input-group-addon i { - width: 15px; -} - -.login-logo { - width: 250px; -} diff --git a/client/src/app/app.module.ts b/client/src/app/app.module.ts index a00b7c610..b05f74732 100644 --- a/client/src/app/app.module.ts +++ b/client/src/app/app.module.ts @@ -1,11 +1,30 @@ +// angular modules import { BrowserModule, Title } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { NgModule } from '@angular/core'; -import { FormsModule } from '@angular/forms'; // <-- NgModel lives here +import { FormsModule } from '@angular/forms'; import { HttpClientModule, HttpClientXsrfModule } from '@angular/common/http'; + +// MaterialUI modules +import { + MatButtonModule, + MatCheckboxModule, + MatToolbarModule, + MatCardModule, + MatInputModule, + MatProgressSpinnerModule, + MatSidenavModule +} from '@angular/material'; +import { MatListModule } from '@angular/material/list'; +import { MatExpansionModule } from '@angular/material/expansion'; +import { MatMenuModule } from '@angular/material/menu'; + +// FontAwesome modules import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { library } from '@fortawesome/fontawesome-svg-core'; import { fas } from '@fortawesome/free-solid-svg-icons'; +// App components and services import { AppComponent } from './app.component'; import { LoginComponent } from './site/login/login.component'; import { AppRoutingModule } from './app-routing.module'; @@ -44,6 +63,17 @@ library.add(fas); headerName: 'X-CSRFToken' }), FormsModule, + BrowserAnimationsModule, + MatButtonModule, + MatCheckboxModule, + MatToolbarModule, + MatCardModule, + MatInputModule, + MatProgressSpinnerModule, + MatSidenavModule, + MatListModule, + MatExpansionModule, + MatMenuModule, FontAwesomeModule, AppRoutingModule ], diff --git a/client/src/app/site/agenda/agenda.component.html b/client/src/app/site/agenda/agenda.component.html index d447cc11f..4a02263ad 100644 --- a/client/src/app/site/agenda/agenda.component.html +++ b/client/src/app/site/agenda/agenda.component.html @@ -1,3 +1,20 @@ -

- agenda works! -

\ No newline at end of file + + + + + + Agenda + + + + + + + +
+ Agenda Works +
\ No newline at end of file diff --git a/client/src/app/site/login/login.component.css b/client/src/app/site/login/login.component.css index 993999fa4..639a0d21b 100644 --- a/client/src/app/site/login/login.component.css +++ b/client/src/app/site/login/login.component.css @@ -1,9 +1,7 @@ -.ngdialog-content { - width: 200px; - margin: auto; - background: #f0f0f0f0; - padding: 10px; - width: auto; - height: 100%; - flex-grow: 1; +.login-card { + width: 400px; + margin: 10% auto; +} +.mat-card-title { + font-size: 16px; } diff --git a/client/src/app/site/login/login.component.html b/client/src/app/site/login/login.component.html index 2d8089238..d01ffac6e 100644 --- a/client/src/app/site/login/login.component.html +++ b/client/src/app/site/login/login.component.html @@ -1,33 +1,29 @@ -
-
- - -
-
\ No newline at end of file + + + OpenSides 3 - Login + + + + + + + + + \ No newline at end of file diff --git a/client/src/app/site/login/login.component.ts b/client/src/app/site/login/login.component.ts index ff0d4fabd..143800053 100644 --- a/client/src/app/site/login/login.component.ts +++ b/client/src/app/site/login/login.component.ts @@ -41,7 +41,7 @@ export class LoginComponent extends BaseComponent implements OnInit { //Todo: This serves as a prototype and need enhancement, //like saving a "logged in state" and real checking the server //if logIn was fine - onSubmit() { + formLogin(): void { this.authService.login(this.user).subscribe(res => { if (res.status === 400) { //TODO, add more errors here, use diff --git a/client/src/app/site/motions/motions.component.html b/client/src/app/site/motions/motions.component.html index 6438f6541..49e716735 100644 --- a/client/src/app/site/motions/motions.component.html +++ b/client/src/app/site/motions/motions.component.html @@ -1,3 +1,20 @@ -

- motions works! -

\ No newline at end of file + + + + + + Motions + + + + + + + +
+ Motion Works +
\ No newline at end of file diff --git a/client/src/app/site/site.component.css b/client/src/app/site/site.component.css index e69de29bb..a19b0bee4 100644 --- a/client/src/app/site/site.component.css +++ b/client/src/app/site/site.component.css @@ -0,0 +1,9 @@ +mat-sidenav-container { + height: 100%; +} + +.projector-button { + position: absolute; + bottom: 10px; + right: 10px; +} diff --git a/client/src/app/site/site.component.html b/client/src/app/site/site.component.html index 29e9596bf..7b85a1694 100644 --- a/client/src/app/site/site.component.html +++ b/client/src/app/site/site.component.html @@ -1,11 +1,64 @@ -

The actual OpenSlides Content!

- - - \ No newline at end of file + + + + + + + OpenSlides-logo + + + + + + + + UserName + + + + + + + + + + Home + + + Agenda + + + Motions + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/client/src/app/site/site.component.ts b/client/src/app/site/site.component.ts index e47179dc8..19de5c42b 100644 --- a/client/src/app/site/site.component.ts +++ b/client/src/app/site/site.component.ts @@ -1,5 +1,6 @@ import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; +import { BreakpointObserver, Breakpoints, BreakpointState } from '@angular/cdk/layout'; import { AuthService } from 'app/core/services/auth.service'; @@ -9,9 +10,25 @@ import { AuthService } from 'app/core/services/auth.service'; styleUrls: ['./site.component.css'] }) export class SiteComponent implements OnInit { - constructor(private authService: AuthService, private router: Router) {} + isMobile = false; - ngOnInit() {} + constructor( + private authService: AuthService, + private router: Router, + private breakpointObserver: BreakpointObserver + ) {} + + ngOnInit() { + this.breakpointObserver + .observe([Breakpoints.Small, Breakpoints.HandsetPortrait]) + .subscribe((state: BreakpointState) => { + if (state.matches) { + this.isMobile = true; + } else { + this.isMobile = false; + } + }); + } logOutButton() { console.log('logout'); diff --git a/client/src/app/site/start/start.component.html b/client/src/app/site/start/start.component.html index 0c59dfcd7..63c2c1839 100644 --- a/client/src/app/site/start/start.component.html +++ b/client/src/app/site/start/start.component.html @@ -1,3 +1,10 @@ -

- start works! -

+ + + + Home + + + +
+ [Welcome to OpenSlide] +
\ No newline at end of file diff --git a/client/src/styles.css b/client/src/styles.css index 9d8537ef5..6e8db01d4 100644 --- a/client/src/styles.css +++ b/client/src/styles.css @@ -1 +1,41 @@ -@import '~bootstrap/dist/css/bootstrap.min.css'; +/*use a 'theme' for MaterialUI. TODO We will need to build an OpenSlides-Theme*/ +@import '~@angular/material/prebuilt-themes/indigo-pink.css'; + +html, +body { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 0; + height: 100% !important; +} + +body { + background: #fafafa; + margin: 0 auto; + padding: 0; +} + +/**the plus button in Motion, Agenda, etc*/ +.generic-plus-button { + bottom: -30px; +} + +/**title of an app page*/ +.app-name { + margin-left: 20px; +} + +/**content of an app page*/ +.app-content { + margin: 20px; + margin-top: 50px; +} + +/**use to push content to the right side*/ +.spacer { + flex: 1 1 auto; +}