From 346056656cd9edec7d75a415903eb40b19b8c9ae Mon Sep 17 00:00:00 2001 From: kjduy Date: Mon, 14 Mar 2022 16:45:20 -0500 Subject: [PATCH 1/3] feat: TT-577 get profile pic from Google account --- .../components/user/user.component.html | 8 ++++---- .../components/user/user.component.scss | 6 ++++++ .../shared/components/user/user.component.ts | 20 ++++++++++++++++--- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/app/modules/shared/components/user/user.component.html b/src/app/modules/shared/components/user/user.component.html index c78437923..6ce838fc5 100644 --- a/src/app/modules/shared/components/user/user.component.html +++ b/src/app/modules/shared/components/user/user.component.html @@ -1,7 +1,7 @@
- user-icon + user-icon -

{{userName}}

-

{{userEmail}}

+

{{ userName }}

+

{{ userEmail }}

-
\ No newline at end of file + diff --git a/src/app/modules/shared/components/user/user.component.scss b/src/app/modules/shared/components/user/user.component.scss index 41e238600..cb98394c1 100644 --- a/src/app/modules/shared/components/user/user.component.scss +++ b/src/app/modules/shared/components/user/user.component.scss @@ -1,5 +1,11 @@ @import '../../../../../styles/colors.scss'; +.round { + width:40px; + height:40px; + border-radius:150px; +} + .user-profile { color: black; cursor: pointer; diff --git a/src/app/modules/shared/components/user/user.component.ts b/src/app/modules/shared/components/user/user.component.ts index 917d60a98..4acae08e4 100644 --- a/src/app/modules/shared/components/user/user.component.ts +++ b/src/app/modules/shared/components/user/user.component.ts @@ -2,6 +2,8 @@ import { Component, OnInit } from '@angular/core'; import { environment } from 'src/environments/environment'; import { AzureAdB2CService } from '../../../login/services/azure.ad.b2c.service'; import { LoginService } from '../../../login/services/login.service'; +import { SocialUser } from 'angularx-social-login'; +import { SocialAuthService } from 'angularx-social-login'; @Component({ selector: 'app-user', @@ -9,25 +11,37 @@ import { LoginService } from '../../../login/services/login.service'; styleUrls: ['./user.component.scss'], }) export class UserComponent implements OnInit { + user: SocialUser; + userPhoto: string; userName: string; userEmail: string; isProduction = environment.production; - constructor(private azureAdB2CService: AzureAdB2CService, private loginService: LoginService) {} + constructor( + private azureAdB2CService: AzureAdB2CService, + private loginService: LoginService, + private authService: SocialAuthService, + ) { } ngOnInit(): void { - if (this.isProduction){ + if (this.isProduction) { if (this.azureAdB2CService.isLogin()) { this.userName = this.azureAdB2CService.getName(); this.userEmail = this.azureAdB2CService.getUserEmail(); this.azureAdB2CService.setTenantId(); } - }else{ + } else { if (this.loginService.isLogin()) { this.userName = this.loginService.getName(); this.userEmail = this.loginService.getUserEmail(); this.azureAdB2CService.setTenantId(); } } + this.authService.authState.subscribe((user) => { + this.user = user; + this.userPhoto = user.photoUrl; + localStorage.setItem('googleUserPhoto', this.userPhoto); + }); + this.userPhoto = localStorage.getItem('googleUserPhoto'); } } From 65632568b9366f7198dc7d8fb403cfd6488cc590 Mon Sep 17 00:00:00 2001 From: kjduy Date: Mon, 14 Mar 2022 16:50:34 -0500 Subject: [PATCH 2/3] feat: TT-577 get profile pic from Google account --- src/app/modules/shared/components/user/user.component.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/app/modules/shared/components/user/user.component.ts b/src/app/modules/shared/components/user/user.component.ts index 4acae08e4..9e0f862a1 100644 --- a/src/app/modules/shared/components/user/user.component.ts +++ b/src/app/modules/shared/components/user/user.component.ts @@ -2,8 +2,7 @@ import { Component, OnInit } from '@angular/core'; import { environment } from 'src/environments/environment'; import { AzureAdB2CService } from '../../../login/services/azure.ad.b2c.service'; import { LoginService } from '../../../login/services/login.service'; -import { SocialUser } from 'angularx-social-login'; -import { SocialAuthService } from 'angularx-social-login'; +import { SocialUser, SocialAuthService } from 'angularx-social-login'; @Component({ selector: 'app-user', From 62082fcd87f2d68964b1e3f2d0212bd2510c0e70 Mon Sep 17 00:00:00 2001 From: alejandra-ponce Date: Mon, 14 Mar 2022 19:07:42 -0500 Subject: [PATCH 3/3] feat: TT-577 get profile pic from Google account --- src/app/modules/login/services/login.service.spec.ts | 5 ++++- src/app/modules/login/services/login.service.ts | 4 +++- .../modules/shared/components/user/user.component.html | 2 +- .../modules/shared/components/user/user.component.ts | 10 +--------- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/app/modules/login/services/login.service.spec.ts b/src/app/modules/login/services/login.service.spec.ts index 36257da50..3dd8ba0c2 100644 --- a/src/app/modules/login/services/login.service.spec.ts +++ b/src/app/modules/login/services/login.service.spec.ts @@ -1,6 +1,6 @@ import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; import { TestBed } from '@angular/core/testing'; -import { SocialAuthService } from 'angularx-social-login'; +import {SocialAuthService, SocialUser} from 'angularx-social-login'; import { CookieService } from 'ngx-cookie-service'; import { of } from 'rxjs'; @@ -13,6 +13,9 @@ describe('LoginService', () => { let socialAuthService: SocialAuthService; let account; const socialAuthServiceStub = jasmine.createSpyObj('SocialAuthService', ['signOut', 'signIn']); + socialAuthServiceStub.signIn.and.returnValue(new Promise( resolve => { + return {photoUrl: ''}; + })); const cookieStoreStub = {}; beforeEach(() => { diff --git a/src/app/modules/login/services/login.service.ts b/src/app/modules/login/services/login.service.ts index 41ea9a7bf..a3ebc5d1a 100644 --- a/src/app/modules/login/services/login.service.ts +++ b/src/app/modules/login/services/login.service.ts @@ -20,7 +20,9 @@ export class LoginService { } signIn() { - this.socialAuthService.signIn(GoogleLoginProvider.PROVIDER_ID); + this.socialAuthService.signIn(GoogleLoginProvider.PROVIDER_ID).then(user => { + localStorage.setItem('googleUserPhoto', user.photoUrl); + }); } logout() { this.socialAuthService.signOut(); diff --git a/src/app/modules/shared/components/user/user.component.html b/src/app/modules/shared/components/user/user.component.html index 6ce838fc5..836536fb9 100644 --- a/src/app/modules/shared/components/user/user.component.html +++ b/src/app/modules/shared/components/user/user.component.html @@ -1,5 +1,5 @@
- user-icon + user-icon

{{ userName }}

{{ userEmail }}

diff --git a/src/app/modules/shared/components/user/user.component.ts b/src/app/modules/shared/components/user/user.component.ts index 9e0f862a1..8b4e723fa 100644 --- a/src/app/modules/shared/components/user/user.component.ts +++ b/src/app/modules/shared/components/user/user.component.ts @@ -2,7 +2,6 @@ import { Component, OnInit } from '@angular/core'; import { environment } from 'src/environments/environment'; import { AzureAdB2CService } from '../../../login/services/azure.ad.b2c.service'; import { LoginService } from '../../../login/services/login.service'; -import { SocialUser, SocialAuthService } from 'angularx-social-login'; @Component({ selector: 'app-user', @@ -10,7 +9,6 @@ import { SocialUser, SocialAuthService } from 'angularx-social-login'; styleUrls: ['./user.component.scss'], }) export class UserComponent implements OnInit { - user: SocialUser; userPhoto: string; userName: string; userEmail: string; @@ -18,8 +16,7 @@ export class UserComponent implements OnInit { constructor( private azureAdB2CService: AzureAdB2CService, - private loginService: LoginService, - private authService: SocialAuthService, + private loginService: LoginService ) { } ngOnInit(): void { @@ -36,11 +33,6 @@ export class UserComponent implements OnInit { this.azureAdB2CService.setTenantId(); } } - this.authService.authState.subscribe((user) => { - this.user = user; - this.userPhoto = user.photoUrl; - localStorage.setItem('googleUserPhoto', this.userPhoto); - }); this.userPhoto = localStorage.getItem('googleUserPhoto'); } }