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();
}
}