11import { Component , DestroyRef , OnInit } from "@angular/core" ;
2- import { filter , map , Observable } from "rxjs" ;
2+ import { filter , map } from "rxjs" ;
33import { AuthService } from "../../services/auth.service" ;
44import { Router , RouterModule } from "@angular/router" ;
55import { takeUntilDestroyed } from "@angular/core/rxjs-interop" ;
66import { CommonModule } from "@angular/common" ;
7- import { faUser , faUserAstronaut , faUserGraduate , faUserTag } from "@fortawesome/free-solid-svg-icons" ;
87import { FontAwesomeModule } from "@fortawesome/angular-fontawesome" ;
98import { ToastService } from "../../services/toast.service" ;
109import { NgbDropdownModule } from "@ng-bootstrap/ng-bootstrap" ;
11- import { UserRole } from "@/user/models/user " ;
10+ import user2icon from "@/shared/user2icon " ;
1211
1312@Component ( {
1413 selector : "la-user-menu" ,
@@ -24,23 +23,7 @@ export class UserMenuComponent implements OnInit {
2423
2524 public user$ = this . authService . currentUser$ ;
2625
27- public userIcon$ = this . user$ . pipe (
28- map ( user => {
29- if ( ! user ) {
30- return faUser ;
31- }
32- switch ( user . role ) {
33- case UserRole . SUPERUSER :
34- return faUserAstronaut ;
35- case UserRole . ANNOTATOR :
36- return faUserTag ;
37- case UserRole . MASTER_ANNOTATOR :
38- return faUserGraduate ;
39- case UserRole . VISITOR :
40- return faUser ;
41- }
42- } )
43- ) ;
26+ public userIcon$ = this . user$ . pipe ( map ( user2icon ) ) ;
4427
4528 public showSignIn$ = this . authService . currentUser$ . pipe (
4629 map ( ( user ) => user === null )
0 commit comments