@shopgate/engage
Version:
Shopgate's ENGAGE library.
4 lines • 1.61 kB
JavaScript
import React,{useMemo}from'react';import PropTypes from'prop-types';import{i18n,generateGoogleMapsDirectionsUrl}from'@shopgate/engage/core';import{CheckoutConfirmationSection}from"../../../checkout/components";import connect from"./OrderDetailsOrderPickupLocation.connector";import{locationName}from"./OrderDetailsOrderPickupLocation.style";/**
* OrderDetailsPickupLocation component
* @returns {JSX}
*/var OrderDetailsPickupLocation=function OrderDetailsPickupLocation(_ref){var location=_ref.location,className=_ref.className;var content=useMemo(function(){if(!location){return null;}var name=location.name,address=location.address;var mapsUrl=generateGoogleMapsDirectionsUrl(address);var entries=[{text:"<h4 class=\"".concat(locationName,"\">").concat(name,"</h4>")}];var formattedAddress=[address===null||address===void 0?void 0:address.street,address===null||address===void 0?void 0:address.street2,i18n.text('locations.address',{postalCode:address.postalCode,city:address.city,region:address.region})].filter(Boolean).join('\n');entries.push({label:'order_details.pickup_location.address',text:formattedAddress,link:mapsUrl});if(address.phoneNumber){entries.push({label:'order_details.pickup_location.phone_number',text:address.phoneNumber,link:"tel:".concat(address.phoneNumber)});}return entries;},[location]);if(!location){return null;}return React.createElement(CheckoutConfirmationSection,{title:"order_details.pickup_location.headline",content:content,className:className});};OrderDetailsPickupLocation.defaultProps={className:null,location:null};export default connect(OrderDetailsPickupLocation);