Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 3x 3x 3x 3x 47x 47x 47x 44x 3x 8x 3x | import { Banner, Promotion } from '@bigcommerce/checkout-sdk';
import React, { memo, FunctionComponent } from 'react';
import PromotionBanner from './PromotionBanner';
import './PromotionBannerList.scss';
export interface PromotionBannerListProps {
promotions: Promotion[];
}
const PromotionBannerList: FunctionComponent<PromotionBannerListProps> = ({
promotions,
}) => {
const banners = (promotions || []).reduce((result, promotion) => ([
...result,
...promotion.banners,
]), [] as Banner[]);
if (!banners.length) {
return null;
}
return (
<div className="discountBanner">
<ul className="discountBannerList">
{ banners.map((banner, index) => (
<PromotionBanner
key={ index }
message={ banner.text }
/>
)) }
</ul>
</div>
);
};
export default memo(PromotionBannerList);
|