UNPKG

@b2bfinance/products-embed

Version:
61 lines (57 loc) 2.02 kB
import { CssBaseline, Grid } from "@material-ui/core"; import React, { useReducer } from "react"; import EmbedContext from "./EmbedContext"; import FilterList from "./FilterList"; import { embedReducer, makeFilterQueryString } from "./utils"; import ProductList from "./ProductList"; var EmbedWrapper = function EmbedWrapper(_ref) { var _ref$products = _ref.products, products = _ref$products === undefined ? [] : _ref$products, _ref$productsLimit = _ref.productsLimit, productsLimit = _ref$productsLimit === undefined ? 10 : _ref$productsLimit, _ref$filters = _ref.filters, filters = _ref$filters === undefined ? [] : _ref$filters, _ref$cta = _ref.cta, cta = _ref$cta === undefined ? "Get Deal" : _ref$cta, _ref$provider = _ref.provider, provider = _ref$provider === undefined ? null : _ref$provider, _ref$onMoreDetails = _ref.onMoreDetails, onMoreDetails = _ref$onMoreDetails === undefined ? null : _ref$onMoreDetails, _ref$onApply = _ref.onApply, onApply = _ref$onApply === undefined ? null : _ref$onApply; var _useReducer = useReducer(embedReducer, { products: [], productsLoading: false, productsError: false, filterQuery: makeFilterQueryString(filters), productsLimit: productsLimit, preFetchedProducts: products, filters: filters, cta: cta, provider: provider, onMoreDetails: onMoreDetails, onApply: onApply }), state = _useReducer[0], dispatch = _useReducer[1]; return React.createElement( EmbedContext.Provider, { value: { state: state, dispatch: dispatch } }, React.createElement(CssBaseline, null), React.createElement( Grid, { item: true, xs: 12 }, React.createElement(FilterList, null) ), React.createElement( Grid, { item: true, xs: 12 }, React.createElement( Grid, { item: true, xs: 12 }, React.createElement(ProductList, null) ) ) ); }; export default EmbedWrapper;