import React from 'react'; import PropTypes from 'prop-types'; import { translate as __ } from 'foremanReact/common/I18n'; import ContentConfig from '../Content/ContentConfig'; const AdditionalCapsuleContent = ({ counts }) => { const { deb: debPackageCount = 0, docker_manifest: dockerManifestCount = 0, docker_manifest_list: dockerManifestListCount = 0, docker_tag: dockerTagCount = 0, file: fileCount = 0, erratum: errataCount = 0, package_group: packageGroup = 0, module_stream: moduleStreamCount = 0, } = counts; const contentConfigTypes = ContentConfig.filter(({ names: { capsuleCountLabel } }) => !!counts[`${capsuleCountLabel}`]) .map(({ names: { capsuleCountLabel, pluralLowercase, }, }) => { const countParam = `${capsuleCountLabel}`; const count = counts[countParam]; return { pluralLowercase, count, }; }); return ( <> {errataCount > 0 && <> {`${errataCount} ${__('Errata')}`}
} {moduleStreamCount > 0 && <> {`${moduleStreamCount} ${__('Module streams')}`}
} {packageGroup > 0 && <> {`${packageGroup} ${__('Package groups')}`}
} {dockerTagCount > 0 && <> {`${dockerTagCount} ${__('Container tags')}`}
} {dockerManifestCount > 0 && <> {`${dockerManifestCount} ${__('Container manifests')}`}
} {dockerManifestListCount > 0 && <> {`${dockerManifestListCount} ${__('Container manifest lists')}`}
} {fileCount > 0 && <> {`${fileCount} ${__('Files')}`}
} {debPackageCount > 0 && <> {`${debPackageCount} ${__('Debian packages')}`}
} {contentConfigTypes?.length > 0 && contentConfigTypes.map(({ count, pluralLowercase }) => ( {`${count} ${pluralLowercase}`}
)) } ); }; AdditionalCapsuleContent.propTypes = { counts: PropTypes.shape({ deb: PropTypes.number, docker_manifest: PropTypes.number, docker_manifest_list: PropTypes.number, docker_tag: PropTypes.number, file: PropTypes.number, erratum: PropTypes.number, package_group: PropTypes.number, module_stream: PropTypes.number, }), }; AdditionalCapsuleContent.defaultProps = { counts: {}, }; export default AdditionalCapsuleContent;