@findify/react-components
Version:
Findify react UI components
39 lines (38 loc) • 1.45 kB
JSX
/**
* @module layouts/ZeroResults
*/
import { useItems } from '@findify/react-connect';
import ProductCard from 'components/Cards/Product';
import Text from 'components/Text';
import Grid from 'components/common/Grid';
import MapArray from 'components/common/MapArray';
import { hideLoader } from 'helpers/loader';
import useTranslations from 'helpers/useTranslations';
import styles from 'layouts/ZeroResults/styles.css';
import { useEffect } from 'react';
export default ({ q, theme = styles }) => {
const { items, config } = useItems();
const translate = useTranslations();
useEffect(() => hideLoader(), []);
return (<div className={theme.container}>
<div className={theme.wrapper}>
<div className={theme.sorryContainer}>
<Text style={{ marginTop: 20 }} primary html={translate(q
? 'zeroresults.noResultsFound'
: 'zeroresults.noResultEmptyQuery', escape(q))}/>
</div>
<div className={theme.recommendationContainer}>
<Text className={theme.recommendation} primary inlineBlock>
{translate('zeroresults.checkOutPopularProducts')}
</Text>
</div>
</div>
<Grid role="main" wrapperComponent="ul" columnComponent="li" gutter={12} columns={config.getIn(['breakpoints', 'grid'])}>
{MapArray({
array: items,
factory: ProductCard,
config: config.get('product'),
})}
</Grid>
</div>);
};