Import des sources angular à partir de 'headup_app'

This commit is contained in:
Rampeur
2025-08-11 23:26:29 +02:00
parent 7dcb426ef5
commit 0a6cbc0c00
335 changed files with 64362 additions and 0 deletions
@@ -0,0 +1,65 @@
import { Component, DestroyRef, inject, OnInit } from '@angular/core';
import { Router, RouterLink, RouterLinkActive } from '@angular/router';
import { MatButtonModule } from '@angular/material/button';
import { MatDividerModule } from '@angular/material/divider';
import { MatIconModule } from '@angular/material/icon';
import { MatMenuModule } from '@angular/material/menu';
import { MatToolbarModule } from '@angular/material/toolbar';
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
import { Observable, Subscription } from 'rxjs';
import { User } from 'src/app/core/models';
import { UserService } from 'src/app/core/services';
@Component({
selector: 'app-layout-header',
templateUrl: './header.component.html',
standalone: true,
imports: [
RouterLink, RouterLinkActive,
MatToolbarModule, MatButtonModule, MatDividerModule,
MatIconModule, MatMenuModule
]
})
export class HeaderComponent implements OnInit {
private _currentUser: Subscription = new Subscription();
private _isAuthenticated: Subscription = new Subscription();
private isAuthenticated = false;
currentUser: User = {} as User;
destroyRef = inject(DestroyRef);
constructor(
private router: Router,
private userService: UserService
) { }
ngOnInit() {
const user$: Observable<User> = this.userService.currentUser.pipe(takeUntilDestroyed(this.destroyRef));
this._currentUser = user$.subscribe(
(userData) => {
this.currentUser = userData;
}
);
const auth$: Observable<boolean> = this.userService.isAuthenticated.pipe(takeUntilDestroyed(this.destroyRef));
this._isAuthenticated = auth$.subscribe(
(value) => {
this.isAuthenticated = value;
}
);
}
goToGitHub() {
window.open('https://github.com/rampeur', '_blank');
}
isLogged(): boolean {
return this.isAuthenticated;
}
logout() {
this.userService.purgeAuth();
this.router.navigateByUrl('/');
}
}