@shopgate/engage
Version:
Shopgate's ENGAGE library.
4 lines • 2.59 kB
JavaScript
import React,{useMemo}from'react';import{CartItems}from'@shopgate/engage/cart';import{CheckoutConfirmationPickUpContact,CheckoutConfirmationOrderContact,CheckoutConfirmationBilledTo,CheckoutConfirmationShippedTo,CheckoutConfirmationOrderSummary,SupplementalContent}from"../../../checkout/components";import{convertLineItemsToCartItems,isDirectShipOnlyOrder,isReserveOnlyOrder}from"../../../checkout/helpers";import{useOrderDetails}from"../../hooks";import OrderDetailsOrderHeader from"./OrderDetailsOrderHeader";import OrderDetailsOrderPickupLocation from"./OrderDetailsOrderPickupLocation";import{root,contactsWrapper,contact,cartWrapper,summaryWrapper,summary,supplemental}from"./OrderDetailsOrder.style";/**
* The OrderDetailsOrder component
* @returns {JSX}
*/var OrderDetailsOrder=function OrderDetailsOrder(){var _useOrderDetails=useOrderDetails(),isUserLoggedIn=_useOrderDetails.isUserLoggedIn,order=_useOrderDetails.order;var _useMemo=useMemo(function(){if(!(order===null||order===void 0?void 0:order.lineItems)){return{};}return{orderNumber:order.orderNumber,date:order.date,cartItems:convertLineItemsToCartItems(order.lineItems),isReserveOnly:isReserveOnlyOrder(order),isDirectShipOnly:isDirectShipOnlyOrder(order),currencyOverride:order.currencyCode};},[order]),cartItems=_useMemo.cartItems,isReserveOnly=_useMemo.isReserveOnly,isDirectShipOnly=_useMemo.isDirectShipOnly,currencyOverride=_useMemo.currencyOverride;if(!order||!cartItems){return null;}return React.createElement("div",{className:root},React.createElement(OrderDetailsOrderHeader,{order:order}),React.createElement("div",{className:contactsWrapper},!isUserLoggedIn&&isReserveOnly?React.createElement(CheckoutConfirmationOrderContact,{order:order,className:contact}):React.createElement(CheckoutConfirmationBilledTo,{order:order,className:contact}),React.createElement(CheckoutConfirmationShippedTo,{order:order,className:contact}),React.createElement(CheckoutConfirmationPickUpContact,{order:order,className:contact}),React.createElement(OrderDetailsOrderPickupLocation,{order:order,className:contact})),React.createElement("div",{className:cartWrapper},React.createElement(CartItems,{cartItems:cartItems,onFocus:function onFocus(){},editable:false,multiLineReservation:true,isOrderDetails:true,isDirectShipOnly:isDirectShipOnly,currencyOverride:currencyOverride})),React.createElement("div",{className:summaryWrapper},React.createElement(CheckoutConfirmationOrderSummary,{order:order,className:summary}),React.createElement(SupplementalContent,{className:supplemental})));};export default OrderDetailsOrder;