import { ChangeDetectionStrategy, Component, inject, OnDestroy, OnInit, signal, } from '@angular/core'; import { RouterModule } from '@angular/router'; import { AuthService } from '@service/auth.service'; import { Subscription } from 'rxjs'; import { AnimatedNumberComponent } from '@blackjack/components/animated-number/animated-number.component'; @Component({ selector: 'app-navbar', templateUrl: './navbar.component.html', standalone: true, imports: [RouterModule, AnimatedNumberComponent], changeDetection: ChangeDetectionStrategy.OnPush, }) export class NavbarComponent implements OnInit, OnDestroy { isMenuOpen = false; private authService: AuthService = inject(AuthService); isLoggedIn = this.authService.isLoggedIn(); private authSubscription!: Subscription; public balance = signal(0); ngOnInit() { this.authSubscription = this.authService.userSubject.subscribe({ next: (user) => { this.balance.set(user?.balance ?? 0); }, }); } ngOnDestroy() { this.authSubscription.unsubscribe(); } logout() { this.authService.logout(); } toggleMenu() { this.isMenuOpen = !this.isMenuOpen; } }