Reconmap/web-client

View on GitHub
src/components/vulnerabilities/StatusBadge.jsx

Summary

Maintainability
A
0 mins
Test Coverage
import PropTypes from 'prop-types';

const VulnerabilityStatusBadge = ({ vulnerability }) => {
    const STATUSES = {
        'open': {
            label: 'Open',
            color: 'yellow',
        },
        'confirmed': {
            label: 'Confirmed',
            color: 'orange',
        },
        'resolved': {
            label: 'Resolved',
            color: 'blue',
        },
        'closed': {
            label: 'Closed',
            color: 'green',
        },
    }
    const styles = {
        badge: {
            color: `var(--${STATUSES[vulnerability.status].color})`,
            backgroundColor: `var(--${STATUSES[vulnerability.status].color}Dark)`,
            padding: `var(--paddingBadge)`,
            alignItems: 'center',
            display: `inline-flex`,
            borderRadius: 'var(--borderRadius, 3px)',
            border: `var(--borderWidth,2px) solid transparent`,
            fontSize: `var(--fontSizeXsmall)`,
            fontWeight: 'var(--fontBold)'
        }
    }
    return (
        <span style={styles.badge}>
            {STATUSES[vulnerability.status].label} ({vulnerability.substatus})
        </span>
    )
}

VulnerabilityStatusBadge.propTypes = {
    vulnerability: PropTypes.object.isRequired
};

export default VulnerabilityStatusBadge;