fleet/frontend/components/forms/fields/SelectTargetsDropdown/TargetOption/TargetIcon.jsx
2017-02-24 14:11:33 -05:00

29 lines
764 B
JavaScript

import React from 'react';
import classnames from 'classnames';
import Icon from 'components/icons/Icon';
import targetInterface from 'interfaces/target';
const baseClass = 'target-option';
const TargetIcon = ({ target }) => {
const iconName = () => {
const { name, platform, target_type: targetType } = target;
if (targetType === 'labels') {
return name === 'All Hosts' ? 'all-hosts' : 'label';
}
return platform === 'darwin' ? 'apple' : platform;
};
const { status } = target;
const targetClasses = classnames(`${baseClass}__icon`, `${baseClass}__icon--${status}`);
return <Icon name={iconName()} className={targetClasses} />;
};
TargetIcon.propTypes = { target: targetInterface.isRequired };
export default TargetIcon;