masto-fe/app/javascript/flavours/glitch/components/icon_with_badge.js
Thibaut Girka f154d9d6e9 Use upstream's Icon component
Rework the codebase to avoid unnecessary differences with upstream
2019-09-09 19:00:20 +02:00

20 lines
571 B
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import Icon from 'flavours/glitch/components/icon';
const formatNumber = num => num > 40 ? '40+' : num;
const IconWithBadge = ({ id, count, className }) => (
<i className='icon-with-badge'>
<Icon id={id} fixedWidth className={className} />
{count > 0 && <i className='icon-with-badge__badge'>{formatNumber(count)}</i>}
</i>
);
IconWithBadge.propTypes = {
id: PropTypes.string.isRequired,
count: PropTypes.number.isRequired,
className: PropTypes.string,
};
export default IconWithBadge;