chore: shitty ahh rebase
Some checks failed
CI / Get Changed Files (pull_request) Successful in 10s
CI / Docker backend validation (pull_request) Successful in 10s
CI / oxlint (pull_request) Successful in 28s
CI / Docker frontend validation (pull_request) Successful in 43s
CI / eslint (pull_request) Successful in 34s
CI / Checkstyle Main (pull_request) Successful in 46s
CI / prettier (pull_request) Failing after 24s
CI / test-build (pull_request) Successful in 34s

This commit is contained in:
Constantin Simonis 2025-05-07 16:23:06 +02:00
commit 91e546226d
No known key found for this signature in database
GPG key ID: 3878FF77C24AF4D2
2 changed files with 7 additions and 10 deletions

View file

@ -2,22 +2,20 @@ import { inject, Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http'; import { HttpClient } from '@angular/common/http';
import { BehaviorSubject, catchError, EMPTY, Observable, tap } from 'rxjs'; import { BehaviorSubject, catchError, EMPTY, Observable, tap } from 'rxjs';
import { User } from '../model/User'; import { User } from '../model/User';
import { environment } from '@environments/environment';
import { AuthService } from '@service/auth.service'; import { AuthService } from '@service/auth.service';
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
}) })
export class UserService { export class UserService {
private apiUrl = `${environment.apiUrl}/users`; public currentUserSubject = new BehaviorSubject<User | null>(null);
public currentUser$ = this.currentUserSubject.asObservable();
private currentUserSubject = new BehaviorSubject<User | null>(null);
private http: HttpClient = inject(HttpClient); private http: HttpClient = inject(HttpClient);
private authService: AuthService = inject(AuthService); private authService = inject(AuthService);
public getCurrentUser(): Observable<User | null> { public getCurrentUser(): Observable<User | null> {
return this.http.get<User | null>('/backend/user').pipe( return this.http.get<User | null>('/backend/users/me').pipe(
catchError(() => EMPTY), catchError(() => EMPTY),
tap((user) => this.currentUserSubject.next(user)) tap((user) => this.currentUserSubject.next(user))
); );
@ -25,6 +23,7 @@ export class UserService {
public refreshCurrentUser(): void { public refreshCurrentUser(): void {
this.getCurrentUser().subscribe(); this.getCurrentUser().subscribe();
this.authService.loadCurrentUser();
} }
public updateLocalBalance(amount: number): void { public updateLocalBalance(amount: number): void {
@ -37,8 +36,4 @@ export class UserService {
this.currentUserSubject.next(updatedUser); this.currentUserSubject.next(updatedUser);
} }
} }
public refreshCurrentUser(): void {
this.authService.loadCurrentUser();
}
} }

View file

@ -3,6 +3,7 @@ import { RouterModule } from '@angular/router';
import { AuthService } from '@service/auth.service'; import { AuthService } from '@service/auth.service';
import { Subscription } from 'rxjs'; import { Subscription } from 'rxjs';
import { AnimatedNumberComponent } from '@blackjack/components/animated-number/animated-number.component'; import { AnimatedNumberComponent } from '@blackjack/components/animated-number/animated-number.component';
import { UserService } from '@service/user.service';
@Component({ @Component({
selector: 'app-navbar', selector: 'app-navbar',
@ -19,6 +20,7 @@ export class NavbarComponent implements OnInit, OnDestroy {
private userSubscription: Subscription | undefined; private userSubscription: Subscription | undefined;
private authSubscription: Subscription | undefined; private authSubscription: Subscription | undefined;
public balance = signal(0); public balance = signal(0);
private userService = inject(UserService);
ngOnInit() { ngOnInit() {
// Subscribe to auth changes // Subscribe to auth changes