order update

This commit is contained in:
Samandar Turgunboyev
2026-01-28 16:19:52 +05:00
parent 5fc62f8bf8
commit b7846c7bc9
2 changed files with 46 additions and 20 deletions

View File

@@ -102,13 +102,17 @@ const CartPage = () => {
</div>
);
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 = () => {
<div className="flex items-center gap-2 mb-3 max-lg:flex-col max-lg:items-start max-lg:gap-1">
<span className="text-blue-600 font-bold text-xl">
{formatPrice(
Math.max(
...item.product.prices.map((e) => Number(e.price)),
),
item.product.prices.length !== 0
? Math.max(
...item.product.prices.map((e) =>
Number(e.price),
),
)
: 0,
true,
)}
</span>

View File

@@ -134,13 +134,17 @@ const OrderPage = () => {
const [deliveryDate, setDeliveryDate] = useState<Date>();
const [selectedTimeSlot, setSelectedTimeSlot] = useState<string>('');
const subtotal = cartItems?.reduce(
(sum, item) =>
sum +
Math.max(...item.product.prices.map((e) => Number(e.price))) *
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 [coords, setCoords] = useState({
latitude: 41.311081,
@@ -573,12 +577,26 @@ const OrderPage = () => {
</h4>
<p className="text-sm text-gray-500">
{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,
)}
</p>
<p className="font-semibold text-sm">
{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,
)}
</p>