Simplified unnecessary complex logic
This commit is contained in:
parent
02fbd0984e
commit
5f3649990f
@ -64,18 +64,18 @@
|
|||||||
<span class="fill-remaining-space"></span>
|
<span class="fill-remaining-space"></span>
|
||||||
|
|
||||||
<mat-menu #userMenu="matMenu">
|
<mat-menu #userMenu="matMenu">
|
||||||
<a mat-menu-item routerLink="/logout">Logout {{nameObject | async}}</a>
|
<a mat-menu-item (click)="logout()">Logout {{(auth.currentUser | async)?.name}}</a>
|
||||||
<a mat-menu-item routerLink="/users/{{nameObject | async}}">Change Password</a>
|
<a mat-menu-item routerLink="/users/me">Change Password</a>
|
||||||
<a mat-menu-item routerLink="/users">Users</a>
|
<a mat-menu-item routerLink="/users">Users</a>
|
||||||
<a mat-menu-item routerLink="/groups">Groups</a>
|
<a mat-menu-item routerLink="/groups">Groups</a>
|
||||||
<a mat-menu-item routerLink="/clients">Clients</a>
|
<a mat-menu-item routerLink="/clients">Clients</a>
|
||||||
<a mat-menu-item routerLink="/settings">Settings</a>
|
<a mat-menu-item routerLink="/settings">Settings</a>
|
||||||
</mat-menu>
|
</mat-menu>
|
||||||
<button mat-button [matMenuTriggerFor]="userMenu" *ngIf="nameObject | async as name">
|
<button mat-button [matMenuTriggerFor]="userMenu" *ngIf="(auth.currentUser | async)?.name as name">
|
||||||
<mat-icon>account_box</mat-icon>
|
<mat-icon>account_box</mat-icon>
|
||||||
{{name}}
|
{{name}}
|
||||||
</button>
|
</button>
|
||||||
<a mat-button routerLink="/login" *ngIf="!(nameObject | async)">
|
<a mat-button routerLink="/login" *ngIf="!(auth.currentUser | async)">
|
||||||
<mat-icon>account_box</mat-icon>
|
<mat-icon>account_box</mat-icon>
|
||||||
Login</a>
|
Login</a>
|
||||||
</mat-toolbar>
|
</mat-toolbar>
|
||||||
|
@ -1,25 +1,19 @@
|
|||||||
import {Component, OnInit} from '@angular/core';
|
import {Component} from '@angular/core';
|
||||||
import {AuthService} from '../../auth/auth.service';
|
import {AuthService} from '../../auth/auth.service';
|
||||||
import {Subject} from 'rxjs/internal/Subject';
|
import {Router} from '@angular/router';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-nav-bar',
|
selector: 'app-nav-bar',
|
||||||
templateUrl: './nav-bar.component.html',
|
templateUrl: './nav-bar.component.html',
|
||||||
styleUrls: ['./nav-bar.component.css']
|
styleUrls: ['./nav-bar.component.css']
|
||||||
})
|
})
|
||||||
export class NavBarComponent implements OnInit {
|
export class NavBarComponent {
|
||||||
public nameObject = new Subject<string>();
|
|
||||||
|
|
||||||
constructor(private auth: AuthService) {
|
constructor(private router: Router, private auth: AuthService) {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
logout() {
|
||||||
this.auth.userObservable.subscribe((user) => {
|
this.auth.logout();
|
||||||
if (user.isAuthenticated) {
|
this.router.navigate(['/']);
|
||||||
this.nameObject.next(user.name);
|
|
||||||
} else {
|
|
||||||
this.nameObject.next(null);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,9 +3,11 @@ export class User {
|
|||||||
name: string;
|
name: string;
|
||||||
password: string;
|
password: string;
|
||||||
lockedOut: boolean;
|
lockedOut: boolean;
|
||||||
groups: UserGroup[];
|
roles?: UserGroup[];
|
||||||
perms: string[];
|
perms: string[];
|
||||||
isAuthenticated: boolean;
|
isAuthenticated: boolean;
|
||||||
|
access_token?: string;
|
||||||
|
exp?: bigint;
|
||||||
|
|
||||||
public constructor(init?: Partial<User>) {
|
public constructor(init?: Partial<User>) {
|
||||||
Object.assign(this, init);
|
Object.assign(this, init);
|
||||||
|
Loading…
Reference in New Issue
Block a user