diff --git a/projects/ucap-webmessenger-app/src/app/pages/account/components/login.page.component.ts b/projects/ucap-webmessenger-app/src/app/pages/account/components/login.page.component.ts index 318d7252..16c265c7 100644 --- a/projects/ucap-webmessenger-app/src/app/pages/account/components/login.page.component.ts +++ b/projects/ucap-webmessenger-app/src/app/pages/account/components/login.page.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, OnDestroy, Inject } from '@angular/core'; +import { Component, OnInit, OnDestroy, Inject, NgZone } from '@angular/core'; import { Store, select } from '@ngrx/store'; @@ -92,7 +92,8 @@ export class LoginPageComponent implements OnInit, OnDestroy { private localStorageService: LocalStorageService, private sessionStorageService: SessionStorageService, private externalApiService: ExternalApiService, - private appAuthenticationService: AppAuthenticationService + private appAuthenticationService: AppAuthenticationService, + private ngZone: NgZone ) { this.useRememberMe = environment.productConfig.authentication.rememberMe.use; @@ -317,6 +318,28 @@ export class LoginPageComponent implements OnInit, OnDestroy { // Recursion function > onLogin this.onLogin(value); } else { + this.ngZone.run(() => { + this.dialogService.open< + AlertDialogComponent, + AlertDialogData, + AlertDialogResult + >(AlertDialogComponent, { + width: '360px', + data: { + title: this.translateService.instant( + 'accounts.errors.loginFailed' + ), + html: this.translateService.instant( + 'accounts.errors.networkFailedAndRetry' + ) + } + }); + this.loginBtnEnable = true; + }); + } + }), + catchError(error => { + this.ngZone.run(() => { this.dialogService.open< AlertDialogComponent, AlertDialogData, @@ -333,26 +356,7 @@ export class LoginPageComponent implements OnInit, OnDestroy { } }); this.loginBtnEnable = true; - } - }), - catchError(error => { - this.dialogService.open< - AlertDialogComponent, - AlertDialogData, - AlertDialogResult - >(AlertDialogComponent, { - width: '360px', - data: { - title: this.translateService.instant( - 'accounts.errors.loginFailed' - ), - html: this.translateService.instant( - 'accounts.errors.networkFailedAndRetry' - ) - } }); - this.loginBtnEnable = true; - return of(); }) ) diff --git a/projects/ucap-webmessenger-app/src/app/store/account/authentication/effects.ts b/projects/ucap-webmessenger-app/src/app/store/account/authentication/effects.ts index 571a1f66..6189e44f 100644 --- a/projects/ucap-webmessenger-app/src/app/store/account/authentication/effects.ts +++ b/projects/ucap-webmessenger-app/src/app/store/account/authentication/effects.ts @@ -138,7 +138,7 @@ export class Effects { ); } }), - catchError(async error => { + catchError(error => { if (!!selfParam.autoLogin) { if (this.maxRetryCount > this.retryCount) { this.store.dispatch(logoutInitialize()); @@ -158,27 +158,28 @@ export class Effects { ); } } + this.ngZone.run(async () => { + const result = await this.dialogService.open< + AlertDialogComponent, + AlertDialogData, + AlertDialogResult + >(AlertDialogComponent, { + width: '360px', + data: { + title: this.translateService.instant( + 'accounts.errors.loginFailed' + ), + html: this.translateService.instant( + 'accounts.errors.networkFailedAndExit' + ) + } + }); - const result = await this.dialogService.open< - AlertDialogComponent, - AlertDialogData, - AlertDialogResult - >(AlertDialogComponent, { - width: '360px', - data: { - title: this.translateService.instant( - 'accounts.errors.loginFailed' - ), - html: this.translateService.instant( - 'accounts.errors.networkFailedAndExit' - ) + if (!!result) { + this.nativeService.appExit(); } }); - if (!!result) { - this.nativeService.appExit(); - } - console.log('not retry'); return of(webLoginFailure({ error })); })