diff --git a/src/features/cart/ui/CartPage.tsx b/src/features/cart/ui/CartPage.tsx index 58ebef7..3103411 100644 --- a/src/features/cart/ui/CartPage.tsx +++ b/src/features/cart/ui/CartPage.tsx @@ -102,13 +102,17 @@ const CartPage = () => { ); - const subtotal = cartItems.reduce( - (sum, item) => - sum + - Math.max(...item.product.prices.map((e) => Number(e.price))) * - Number(item.quantity), - 0, - ); + const subtotal = + cartItems?.reduce((sum, item) => { + if (item.product.prices.length === 0) return sum; // narx yo'q bo'lsa qo'shmaymiz + + // Eng yuqori narxni olish + const maxPrice = Math.max( + ...item.product.prices.map((p) => Number(p.price)), + ); + + return sum + maxPrice * item.quantity; + }, 0) || 0; // cartItems bo'sh bo'lsa 0 qaytaradi const handleQuantityChange = (itemId: string, value: number) => { setQuantities((prev) => ({ @@ -180,9 +184,13 @@ const CartPage = () => {
{item.quantity} x{' '} - {formatPrice(item.product.prices[0].price, true)} + {formatPrice( + item.product.prices.length !== 0 + ? Math.max( + ...item.product.prices.map((p) => + Number(p.price), + ), + ) + : 0, + true, + )}
{formatPrice( - Number(item.product.prices[0].price) * - item.quantity, + item.product.prices.length !== 0 + ? Math.max( + ...item.product.prices.map((p) => + Number(p.price), + ), + ) * item.quantity + : 0 * item.quantity, true, )}