This commit is contained in:
sdarbinyan
2026-03-24 02:46:58 +04:00
parent 5ed255dddb
commit 44553f5bd4
6 changed files with 163 additions and 48 deletions

View File

@@ -103,7 +103,7 @@ export class CartService {
return false;
}
addItem(itemID: number, quantity: number = 1): void {
addItem(itemID: number, quantity: number = 1, variant?: { colour?: string; size?: string; price?: number; currency?: string }): void {
// Prevent duplicate API calls for same item
if (this.addingItems.has(itemID)) return;
@@ -118,7 +118,14 @@ export class CartService {
this.addingItems.add(itemID);
this.apiService.getItem(itemID).subscribe({
next: (item) => {
const cartItem: CartItem = { ...item, quantity };
const cartItem: CartItem = {
...item,
quantity,
...(variant?.colour != null && { colour: variant.colour }),
...(variant?.size != null && { size: variant.size }),
...(variant?.price != null && { price: variant.price }),
...(variant?.currency != null && { currency: variant.currency }),
};
this.cartItems.set([...this.cartItems(), cartItem]);
this.addingItems.delete(itemID);
},