import React, { useState } from "react"; import styles from "./Orders.module.scss"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; import { useGetOrdersQuery } from "../../app/api/orderApi"; import EmptyOrderState from "./emptyOrder"; import Loader from "../../components/Loader/index"; import { Result, Button } from "antd"; import { useNavigate } from "react-router-dom"; import PendingPriceBadge from "../../components/PendingPriceBadge"; const isPriceZero = (price) => !price || parseFloat(price) === 0; const orderHasZeroPrice = (orderItems) => orderItems?.some((item) => isPriceZero(item.unit_price_amount)); const Orders = () => { const { t } = useTranslation(); const { data: orders, isLoading, error } = useGetOrdersQuery(); const navigate = useNavigate(); const formatOrderDate = (dateString) => { try { return new Date(dateString).toLocaleString("tk-TM", { day: "2-digit", month: "2-digit", year: "numeric", hour: "2-digit", minute: "2-digit", }); } catch { return dateString; } }; if (isLoading) return ; if (error) return ( navigate("/")}> Baş sahypa gidiň } /> ); if (!orders || orders.length === 0) return ; return (

Sargytlarym

{/* Desktop table */}
{orders.map((order) => { const hasZeroPrice = orderHasZeroPrice(order.orderItems); const totalAmount = order.orderItems.reduce( (sum, item) => sum + parseFloat(item.unit_price_amount) * item.quantity, 0, ); return ( ); })}
{t("order.orderNumber")} {t("order.orderDate")} {t("order.sum")} {t("checkout.paymentMethod")} {t("order.orderStatus")} {t("order.action")}
{order.id} {formatOrderDate(order.delivery_at)} {hasZeroPrice ? ( {t("cart.pendingPriceTitle")} ) : ( `${totalAmount.toFixed(2)} m.` )} {order.payment_type} {order.status}
{/* Mobile cards */}
{orders.map((order) => { const hasZeroPrice = orderHasZeroPrice(order.orderItems); const totalAmount = order.orderItems.reduce( (sum, item) => sum + parseFloat(item.unit_price_amount) * item.quantity, 0, ); return (
{ // Modal veya badge içerisine tıklandığında yönlendirmeyi engelle if ( e.target.closest(`.${styles.pendingPriceBadgeWrapper}`) || e.target.closest(".ant-modal-root") || e.target.closest(".ant-modal-wrap") ) { return; } navigate(`/orderdetail/${order.id}`); }} style={{ cursor: "pointer" }} >
{t("order.orderNumber")}: {order.id}
{t("order.orderDate")}: {formatOrderDate(order.delivery_at)}
{t("order.sum")}: {hasZeroPrice ? ( {t("cart.pendingPriceTitle")} ) : ( `${totalAmount.toFixed(2)} m.` )}
{t("checkout.paymentMethod")}: {order.payment_type}
{t("order.orderStatus")}: {order.status}
); })}
); }; export default Orders;