@shopgate/engage
Version:
Shopgate's ENGAGE library.
38 lines (37 loc) • 1.02 kB
JavaScript
import React, { useMemo } from 'react';
import PropTypes from 'prop-types';
import connect from "./OrderHistoryProvider.connector";
import Context from "./OrderHistoryProvider.context";
import { getOrderDetailsRoute } from "../helpers/orderDetails";
/**
* @param {Object} props The component props.
* @returns {JSX}
*/
import { jsx as _jsx } from "react/jsx-runtime";
const OrderHistoryProvider = ({
orders,
fetchOrderHistory,
children,
historyPush,
totalOrderCount
}) => {
const value = useMemo(() => ({
orders: orders.map(order => ({
...order,
openDetails: () => historyPush({
pathname: getOrderDetailsRoute(order.orderNumber)
})
})),
totalOrderCount,
fetchOrderHistory
}), [fetchOrderHistory, historyPush, orders, totalOrderCount]);
return /*#__PURE__*/_jsx(Context.Provider, {
value: value,
children: children
});
};
OrderHistoryProvider.defaultProps = {
children: null,
totalOrderCount: null
};
export default connect(OrderHistoryProvider);