mirror of
https://github.com/fleetdm/fleet
synced 2026-05-18 06:28:40 +00:00
29 lines
764 B
JavaScript
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;
|