Change the oauth to a loading spinner

pull/3746/head
tidusjar 4 years ago
parent ebea0caeb8
commit 883ddfb9d2

@ -36,7 +36,10 @@
<div> <div>
<button mat-raised-button color="primary" type="submit" (click)="loginWithOmbi = true">{{'Login.SignInWith' | translate:appNameTranslate}}</button> <button mat-raised-button color="primary" type="submit" (click)="loginWithOmbi = true">{{'Login.SignInWith' | translate:appNameTranslate}}</button>
<button mat-raised-button color="accent" type="button" (click)="oauth()">{{'Login.SignInWithPlex' | translate}}</button> <button mat-raised-button color="accent" type="button" (click)="oauth()">
<span *ngIf="!oauthLoading">{{'Login.SignInWithPlex' | translate}}</span>
<span *ngIf="oauthLoading"><i class="fa fa-circle-o-notch fa-spin fa-fw"></i></span>
</button>
</div> </div>
</mat-card-content> </mat-card-content>

@ -33,6 +33,7 @@ export class LoginComponent implements OnDestroy, OnInit {
public baseUrl: string; public baseUrl: string;
public loginWithOmbi: boolean; public loginWithOmbi: boolean;
public pinTimer: any; public pinTimer: any;
public oauthLoading: boolean;
public get appName(): string { public get appName(): string {
if (this.customizationSettings.applicationName) { if (this.customizationSettings.applicationName) {
@ -97,7 +98,7 @@ export class LoginComponent implements OnDestroy, OnInit {
}); });
this.timer = setInterval(() => { this.timer = setInterval(() => {
this.cycleBackground(); this.cycleBackground();
}, 15000); }, 30000);
const base = this.href; const base = this.href;
if (base.length > 1) { if (base.length > 1) {
@ -159,10 +160,8 @@ export class LoginComponent implements OnDestroy, OnInit {
this.oAuthWindow!.location.replace(x.url); this.oAuthWindow!.location.replace(x.url);
this.pinTimer = setInterval(() => { this.pinTimer = setInterval(() => {
this.notify.open("Authenticating. Loading... Please Wait", "OK", { this.oauthLoading = true;
duration: 3000
});
this.getPinResult(x.pinId); this.getPinResult(x.pinId);
}, 4000); }, 4000);
}); });
@ -173,24 +172,25 @@ export class LoginComponent implements OnDestroy, OnInit {
this.authService.oAuth(pinId).subscribe(x => { this.authService.oAuth(pinId).subscribe(x => {
if(x.access_token) { if(x.access_token) {
this.store.save("id_token", x.access_token); this.store.save("id_token", x.access_token);
if (this.authService.loggedIn()) { if (this.authService.loggedIn()) {
this.ngOnDestroy(); this.ngOnDestroy();
if(this.oAuthWindow) { if(this.oAuthWindow) {
this.oAuthWindow.close(); this.oAuthWindow.close();
} }
this.oauthLoading = false;
this.router.navigate(["search"]); this.router.navigate(["search"]);
return; return;
} }
} }
}, err => { }, err => {
console.log(err); console.log(err);
this.notify.open(err.body, "OK", { this.notify.open(err.body, "OK", {
duration: 3000 duration: 3000
}); });
this.router.navigate(["login"]); this.router.navigate(["login"]);
}); });
} }

Loading…
Cancel
Save