import React, { ReactElement } from 'react'; import List from '@material-ui/core/List'; import ListItem from '@material-ui/core/ListItem'; import { DetailContextConsumer } from '../../pages/Version'; import NoItems from '../NoItems'; import { formatDateDistance } from '../../utils/package'; import { Heading, Spacer, ListItemText } from './styles'; class UpLinks extends React.PureComponent<{}> { public render(): ReactElement { return ( {context => { return ( context && context.packageMeta && context.packageMeta && context.packageMeta._uplinks && context.packageMeta.latest && this.renderContent(context.packageMeta._uplinks, context.packageMeta.latest) ); }} ); } public renderUpLinksList = uplinks => ( {Object.keys(uplinks) .reverse() .map(name => ( {name} {`${formatDateDistance(uplinks[name].fetched)} ago`} ))} ); public renderContent(uplinks, { name }): ReactElement { if (Object.keys(uplinks).length > 0) { return ( uplinks && ( <> {'Uplinks'} {this.renderUpLinksList(uplinks)} ) ); } return ; } } export default UpLinks;