import { Button, Card, TableBody, TableCell, TableHead, TableRow } from "@material-ui/core"; import CardTitle from "@saleor/components/CardTitle"; import { DateTime } from "@saleor/components/Date"; import Money from "@saleor/components/Money"; import ResponsiveTable from "@saleor/components/ResponsiveTable"; import Skeleton from "@saleor/components/Skeleton"; import StatusLabel from "@saleor/components/StatusLabel"; import { makeStyles } from "@saleor/macaw-ui"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; import { maybe, renderCollection, transformPaymentStatus } from "../../../misc"; import { CustomerDetails_user_orders_edges_node } from "../../types/CustomerDetails"; const useStyles = makeStyles( { link: { cursor: "pointer" }, textRight: { textAlign: "right" } }, { name: "CustomerOrders" } ); export interface CustomerOrdersProps { orders: CustomerDetails_user_orders_edges_node[]; onViewAllOrdersClick: () => void; onRowClick: (id: string) => void; } const CustomerOrders: React.FC = props => { const { orders, onRowClick, onViewAllOrdersClick } = props; const classes = useStyles(props); const intl = useIntl(); const orderList = orders ? orders.map(order => ({ ...order, paymentStatus: transformPaymentStatus(order.paymentStatus, intl) })) : undefined; return ( } /> {renderCollection( orderList, order => ( onRowClick(order.id) : undefined} key={order ? order.id : "skeleton"} > {maybe(() => order.number) ? ( "#" + order.number ) : ( )} {maybe(() => order.created) ? ( ) : ( )} {maybe(() => order.paymentStatus.status) !== undefined ? ( order.paymentStatus.status === null ? null : ( ) ) : ( )} {maybe(() => order.total.gross) ? ( ) : ( )} ), () => ( ) )} ); }; CustomerOrders.displayName = "CustomerOrders"; export default CustomerOrders;