import { ProductListItemRenderer } from '@graphcommerce/magento-product' import { ProductListItemBundle } from '@graphcommerce/magento-product-bundle' import { ProductListItemConfigurable } from '@graphcommerce/magento-product-configurable' import { ProductListItemDownloadable } from '@graphcommerce/magento-product-downloadable' import { ProductListItemGrouped } from '@graphcommerce/magento-product-grouped' import { ProductListItemSimple } from '@graphcommerce/magento-product-simple' import { ProductListItemVirtual } from '@graphcommerce/magento-product-virtual' import { ProductReviewChip } from '@graphcommerce/magento-review' import { makeStyles, Theme, Typography, TypographyProps } from '@material-ui/core' import React from 'react' const Subtitle = (props: TypographyProps) => ( ) const useStyles = makeStyles((theme: Theme) => ({ outlined: { backgroundColor: theme.palette.background.highlight, }, })) const renderers: ProductListItemRenderer = { SimpleProduct: (props) => { const { outlined } = useStyles() const { rating_summary } = props return ( BY GC} aspectRatio={[1, 1]} bottomRight={} /> ) }, ConfigurableProduct: (props) => { const { rating_summary } = props const { outlined } = useStyles() return ( BY GC} aspectRatio={[1, 1]} swatchLocations={{ topLeft: [], topRight: ['size'], bottomLeft: ['color'], bottomRight: [], }} bottomRight={} /> ) }, BundleProduct: (props) => { const { rating_summary } = props const { outlined } = useStyles() return ( BY GC} aspectRatio={[1, 1]} bottomRight={} /> ) }, VirtualProduct: (props) => { const { rating_summary } = props const { outlined } = useStyles() return ( BY GC} aspectRatio={[1, 1]} bottomRight={} /> ) }, DownloadableProduct: (props) => { const { rating_summary } = props const { outlined } = useStyles() return ( BY GC} aspectRatio={[1, 1]} bottomRight={} /> ) }, GroupedProduct: (props) => { const { rating_summary } = props const { outlined } = useStyles() return ( BY GC} aspectRatio={[1, 1]} bottomRight={} /> ) }, // // eslint-disable-next-line @typescript-eslint/ban-ts-comment // // @ts-ignore GiftCardProduct is only available in Commerce // GiftCardProduct: (props) => ( // BY GC} aspectRatio={[1, 1]} /> // ), } export default renderers