import { Component, inject } from '@angular/core'; import { toSignal } from '@angular/core/rxjs-interop'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; import { MatMenuModule } from '@angular/material/menu'; import { Router, RouterLink } from '@angular/router'; import { TranslatePipe } from '@ngx-translate/core'; import { AuthService, SettingsService } from '@core'; @Component({ selector: 'app-user', template: ` `, styles: ` .avatar { width: 1.5rem; height: 1.5rem; border-radius: 50rem; } `, imports: [RouterLink, MatButtonModule, MatIconModule, MatMenuModule, TranslatePipe], }) export class UserButton { private readonly auth = inject(AuthService); private readonly router = inject(Router); private readonly settings = inject(SettingsService); user = toSignal(this.auth.user()); logout() { this.auth.logout().subscribe(() => { this.router.navigateByUrl('/auth/login'); }); } restore() { this.settings.reset(); window.location.reload(); } }