From 419e8281e2595d5dbb247d04cd5b7d1c55a16a57 Mon Sep 17 00:00:00 2001 From: kusowl Date: Tue, 17 Mar 2026 16:10:05 +0530 Subject: [PATCH] BREAKING CHANGE: change obervable name from cartItem$ to cartItems$ --- src/app/core/layouts/header/header.html | 2 +- src/app/core/layouts/header/header.ts | 4 ++-- src/app/core/services/cart-service.ts | 16 ++++++++-------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/app/core/layouts/header/header.html b/src/app/core/layouts/header/header.html index 7a74d77..ea798f2 100644 --- a/src/app/core/layouts/header/header.html +++ b/src/app/core/layouts/header/header.html @@ -53,7 +53,7 @@ cart.itemsCount ?? 0)); + cartItems$ = this.cartService.cartItems$; + cartItemCount = this.cartItems$.pipe(map((cart: CartModel) => cart.itemsCount ?? 0)); } diff --git a/src/app/core/services/cart-service.ts b/src/app/core/services/cart-service.ts index 9c0e1c4..b7987af 100644 --- a/src/app/core/services/cart-service.ts +++ b/src/app/core/services/cart-service.ts @@ -15,23 +15,23 @@ export class CartService { private http = inject(HttpClient); private apiUrl = inject(API_URL); - private _cartItem = new BehaviorSubject({} as CartModel); + private _cartItems = new BehaviorSubject({} as CartModel); - cartItem$ = this._cartItem.asObservable(); + cartItems$ = this._cartItems.asObservable(); constructor() { effect(() => { if (this.authService.isAuthenticated()) { this.fetchCart(); } else { - this._cartItem.next({} as CartModel); + this._cartItems.next({} as CartModel); } }); } - fetchCart() { + private fetchCart() { return this.http.get(this.apiUrl + "/cart").subscribe({ - next: (data) => this._cartItem.next(data), + next: (data) => this._cartItems.next(data), error: (error: HttpErrorResponse) => { if (error.status === 401) { this.authService.purgeAuth(); @@ -44,18 +44,18 @@ export class CartService { addToCart(data: CartItemRequest) { return this.http .post(this.apiUrl + "/cart", data) - .pipe(tap((updatedCart: CartModel) => this._cartItem.next(updatedCart))); + .pipe(tap((updatedCart: CartModel) => this._cartItems.next(updatedCart))); } updateCart(data: CartItemRequest) { return this.http .patch(this.apiUrl + "/cart", data) - .pipe(tap((updatedCart: CartModel) => this._cartItem.next(updatedCart))); + .pipe(tap((updatedCart: CartModel) => this._cartItems.next(updatedCart))); } removeFromCart(productId: number) { return this.http .delete(this.apiUrl + "/cart", { body: { productId: productId } }) - .pipe(tap((updatedCart: CartModel) => this._cartItem.next(updatedCart))); + .pipe(tap((updatedCart: CartModel) => this._cartItems.next(updatedCart))); } }