Sha256: 7ba49edec385f2b68f079449fa71d5cb64718f6d7964b6a0943a303b0bf29e44
Contents?: true
Size: 1.15 KB
Versions: 23
Compression:
Stored size: 1.15 KB
Contents
import React, { Fragment } from 'react'; import { CheckCircleIcon, ExclamationTriangleIcon, CloseIcon } from '@patternfly/react-icons'; import { foremanUrl } from 'foremanReact/common/helpers'; import PropTypes from 'prop-types'; const LastSync = ({ lastSyncWords, lastSync }) => { if (lastSync && lastSyncWords) { let Icon; let color = 'black'; const { result, id } = lastSync; if (result === 'success') { Icon = CheckCircleIcon; color = 'green'; } else if (result === 'warning') { Icon = ExclamationTriangleIcon; color = 'orange'; } else if (result === 'error') { Icon = CloseIcon; color = 'red'; } else { Icon = Fragment; } return ( <a href={foremanUrl(`/foreman_tasks/tasks/${id}/`)}> <Icon style={{ color }} /> {`${lastSyncWords} ago`} </a> ); } return <div>Not Synced</div>; }; LastSync.propTypes = { lastSyncWords: PropTypes.string, lastSync: PropTypes.shape({ id: PropTypes.string, // API returns string result: PropTypes.string, }), }; LastSync.defaultProps = { lastSyncWords: null, lastSync: null, }; export default LastSync;
Version data entries
23 entries across 23 versions & 1 rubygems