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 }} />&nbsp;{`${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

Version Path
katello-4.0.3 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-3.18.5 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-4.0.2.1 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-4.0.2 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-3.18.4 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-4.0.1.2 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-3.18.3.1 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-4.0.1.1 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-3.18.3 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-4.0.1 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-4.0.0 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-4.0.0.rc3.1 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-4.0.0.rc3 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-3.18.2.1 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-3.18.2 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-4.0.0.rc2 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-3.18.1.1 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-4.0.0.rc1 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-3.18.1 webpack/scenes/ContentViews/Details/Repositories/LastSync.js
katello-3.18.0 webpack/scenes/ContentViews/Details/Repositories/LastSync.js