import React from 'react'; import { Link } from 'react-router-dom'; import PropTypes from 'prop-types'; import { Grid, Cell, List, ListItem, ListItemContent, Switch } from 'react-mdl'; import { shorten } from '../common'; import { CREATE_FEATURE, CREATE_STRATEGY } from '../../permissions'; function ApplicationView({ seenToggles, hasPermission, strategies, instances, formatFullDateTime }) { return (
Toggles

{seenToggles.map(({ name, description, enabled, notFound }, i) => notFound ? ( {hasPermission(CREATE_FEATURE) ? ( {name} ) : ( {name} )} ) : ( } subtitle={shorten(description, 60)} > {shorten(name, 50)} ) )}
Implemented strategies

{strategies.map(({ name, description, notFound }, i) => notFound ? ( {hasPermission(CREATE_STRATEGY) ? ( {name} ) : ( {name} )} ) : ( {shorten(name, 50)} ) )}
{instances.length} Instances registered

{instances.map(({ instanceId, clientIp, lastSeen, sdkVersion }, i) => ( {clientIp} last seen at {formatFullDateTime(lastSeen)} } > {instanceId} {sdkVersion ? `(${sdkVersion})` : ''} ))}
); } ApplicationView.propTypes = { instances: PropTypes.array.isRequired, seenToggles: PropTypes.array.isRequired, strategies: PropTypes.array.isRequired, hasPermission: PropTypes.func.isRequired, formatFullDateTime: PropTypes.func.isRequired, }; export default ApplicationView;