diff --git a/src/Web/WebMVC/wwwroot/css/site.css b/src/Web/WebMVC/wwwroot/css/site.css
index 7981b10ab..fe152a3f3 100644
--- a/src/Web/WebMVC/wwwroot/css/site.css
+++ b/src/Web/WebMVC/wwwroot/css/site.css
@@ -757,7 +757,6 @@ form .col-md-4 {
background-color: #FFFFFF;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
- /*left: 100px;*/
right: 0px;
}
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/images/arrow-down.png b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/images/arrow-down.png
new file mode 100644
index 000000000..1ebe2e929
Binary files /dev/null and b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/images/arrow-down.png differ
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/images/logout.png b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/images/logout.png
new file mode 100644
index 000000000..9915b9862
Binary files /dev/null and b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/images/logout.png differ
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/images/my_orders.png b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/images/my_orders.png
new file mode 100644
index 000000000..145be925b
Binary files /dev/null and b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/images/my_orders.png differ
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/_variables.scss b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/_variables.scss
index fb6bd2413..179f36d71 100644
--- a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/_variables.scss
+++ b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/_variables.scss
@@ -1,9 +1,56 @@
-$primary-colour: #00A69C;
-$primary-accent: #83D01B;
+// Colors
+$color-brand: #00A69C;
+$color-brand-dark: darken($color-brand, 10%);
+$color-brand-darker: darken($color-brand, 20%);
+$color-brand-bright: lighten($color-brand, 10%);
+$color-brand-brighter: lighten($color-brand, 20%);
-$white-colour: #FFFFFF;
-$grey-colour: #E2E2E2;
-$text-colour: #757575;
+$color-secondary: #83D01B;
+$color-secondary-dark: darken($color-secondary, 10%);
+$color-secondary-darker: darken($color-secondary, 20%);
+$color-secondary-bright: lighten($color-secondary, 10%);
+$color-secondary-brighter: lighten($color-secondary, 20%);
-$grey-box-shadow: 10px 10px 20px #F2F2F2;
-$grey-box-border: 1px solid #DDDDDD;
\ No newline at end of file
+$color-background-dark: #333333;
+$color-background-darker: #000000;
+$color-background-bright: #EEEEEE;
+$color-background-brighter: #FFFFFF;
+
+$color-foreground-dark: #333333;
+$color-foreground-darker: #000000;
+$color-foreground-bright: #EEEEEE;
+$color-foreground-brighter: #FFFFFF;
+
+// Animations
+$animation-speed-default: .35s;
+$animation-speed-slow: .5s;
+$animation-speed-fast: .15s;
+
+// Fonts
+$font-weight-light: 200;
+$font-weight-semilight: 300;
+$font-weight-normal: 400;
+$font-weight-semibold: 600;
+$font-weight-bold: 700;
+
+$font-size-xs: .5rem; // 8px
+$font-size-s: .85rem; // 13.6px
+$font-size-m: 1rem; // 16px
+$font-size-l: 1.25rem; // 20px
+$font-size-xl: 1.5rem; // 24px
+
+// Medias
+$media-screen-xxs: 360px;
+$media-screen-xs: 640px;
+$media-screen-s: 768px;
+$media-screen-m: 1024px;
+$media-screen-l: 1280px;
+$media-screen-xl: 1440px;
+$media-screen-xxl: 1680px;
+$media-screen-xxxl: 1920px;
+
+// Margins
+$margin-center: 10vw;
+
+$medias: xxs, xs, s, m, l, xl, xxl, xxxl;
+$mediavalues: $media-screen-xxs, $media-screen-xs, $media-screen-s, $media-screen-m, $media-screen-l, $media-screen-xl, $media-screen-xxl, $media-screen-xxxl;
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/app.component.html b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/app.component.html
index 55d1d81fe..034a82aee 100644
--- a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/app.component.html
+++ b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/app.component.html
@@ -9,7 +9,7 @@
-
+
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket-status/basket-status.component.scss b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket-status/basket-status.component.scss
index a820a44a4..2888ead1a 100644
--- a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket-status/basket-status.component.scss
+++ b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket-status/basket-status.component.scss
@@ -1,6 +1,7 @@
@import '../../_variables.scss';
.esh-basketstatus {
+ float:right;
&-image {
height: 36px;
@@ -20,5 +21,6 @@
font-size: 12px;
cursor: pointer;
top: 0;
+ padding-left: 3px;
}
}
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket-status/basket-status.component.ts b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket-status/basket-status.component.ts
index 06751547b..11c1f86d0 100644
--- a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket-status/basket-status.component.ts
+++ b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket-status/basket-status.component.ts
@@ -1,6 +1,5 @@
import { Component, OnInit } from '@angular/core';
-
-import { Subscription } from 'rxjs/Subscription';
+import { Subscription } from 'rxjs/Subscription';
import { BasketService } from '../basket.service';
import { BasketWrapperService } from '../../shared/services/basket.wrapper.service';
@@ -19,18 +18,12 @@ export class BasketStatusComponent implements OnInit {
ngOnInit() {
this.subscription = this.basketEvents.addItemToBasket$.subscribe(
item => {
- console.log('element received in basket');
- console.log(item);
this.service.setBasket(item).subscribe(res => {
- console.log(res);
this.service.getBasket().subscribe(basket => {
this.badge = basket.items.length;
- console.log('response from basket api');
- console.log(basket.items.length);
});
});
});
}
-
}
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket.component.scss b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket.component.scss
index e7cbdbf7d..aa752bea5 100644
--- a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket.component.scss
+++ b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket.component.scss
@@ -51,6 +51,7 @@
&-total-value {
font-size: 20px;
color: #00a69c;
+ width: 90px;
}
&-total-label {
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.html b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.html
index cc2aafb45..b0dd9f49c 100644
--- a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.html
+++ b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.html
@@ -1,2 +1,8 @@
-userName: {{userName}}
+
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.scss b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.scss
index 76ac3a08e..7ab3b2394 100644
--- a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.scss
+++ b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.scss
@@ -1,3 +1,82 @@
.identity {
+ &-user {
+ position: absolute !important;
+ top: 30px;
+ right: 120px;
+ cursor: pointer;
+ &:hover .identity-userDropdown{
+ display:block;
+ }
+ }
+
+ &-userDropdown {
+ display: none;
+ position: absolute;
+ background-color: #FFFFFF;
+ min-width: 160px;
+ box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
+ right: -15px;
+ z-index: 3;
+
+ &:hover{
+ display:block;
+ }
+
+ //TODO: DELETE THIS BLOCK ONCE REFACTOR.
+ & a {
+ color: black;
+ padding: 12px 16px;
+ text-decoration: none;
+ display: block;
+ text-align: right;
+ text-transform: uppercase;
+
+ &:hover{
+ color: #83d01b;
+ }
+ }
+ //
+
+ & div {
+ color: black;
+ padding: 12px 16px;
+ text-decoration: none;
+ display: block;
+ text-align: right;
+ text-transform: uppercase;
+
+ &:hover{
+ color: #83d01b;
+ }
+ }
+ }
+
+ &-downArrow {
+ background-image: url('../images/arrow-down.png');
+ height: 7px;
+ width: 10px;
+ display: inline-block;
+ margin-left: 20px;
+
+ &:hover > identity.userDropdown {
+ display:block;
+ }
+ }
+
+ &-ordersIcon {
+ background-image: url('../images/my_orders.PNG');
+ display: inline-block;
+ height: 20px;
+ width: 20px;
+ margin-left: 15px;
+ }
+
+ &-logOutIcon {
+ background-image: url('../images/logout.PNG');
+ display: inline-block;
+ height: 19px;
+ width: 19px;
+ margin-left: 15px;
+ }
}
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.ts b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.ts
index 9b8d8352b..ea3b92e9c 100644
--- a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.ts
+++ b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/components/identity/identity.ts
@@ -33,6 +33,12 @@ export class Identity implements OnInit {
}
}
+ logoutClicked(event: any) {
+ event.preventDefault();
+ console.log('Logout clicked');
+ this.logout();
+ }
+
login() {
this.service.Authorize();
}
diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/services/security.service.ts b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/services/security.service.ts
index 32756c0cd..cdf823b27 100644
--- a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/services/security.service.ts
+++ b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/shared/services/security.service.ts
@@ -159,6 +159,9 @@ export class SecurityService {
this.ResetAuthorizationData();
+ //emit observable
+ this.authenticationSource.next(false);
+
window.location.href = url;
}