import React from 'react'; import { Link } from 'react-router-dom'; import PropTypes from 'prop-types'; import { Grid, List, ListItem, ListItemText, ListItemAvatar, Switch, Icon, Typography } from '@material-ui/core'; import { shorten } from '../common'; import { CREATE_FEATURE, CREATE_STRATEGY } from '../../permissions'; import ConditionallyRender from '../common/ConditionallyRender/ConditionallyRender'; function ApplicationView({ seenToggles, hasPermission, strategies, instances, formatFullDateTime }) { const notFoundListItem = ({ createUrl, name, permission }) => ( report {name}} secondary={'Missing, want to create?'} /> } elseShow={ report } /> ); // eslint-disable-next-line react/prop-types const foundListItem = ({ viewUrl, name, showSwitch, enabled, description, i }) => ( } elseShow={extension} /> {shorten(name, 50)}} secondary={shorten(description, 60)} /> ); return ( Toggles
{seenToggles.map(({ name, description, enabled, notFound }, i) => ( ))}
Implemented strategies
{strategies.map(({ name, description, notFound }, i) => ( ))}
{instances.length} Instances registered
{instances.map(({ instanceId, clientIp, lastSeen, sdkVersion }) => ( timeline } secondary={ {clientIp} last seen at {formatFullDateTime(lastSeen)} } /> ))}
); } ApplicationView.propTypes = { createUrl: PropTypes.string, name: PropTypes.string, permission: PropTypes.string, instances: PropTypes.array.isRequired, seenToggles: PropTypes.array.isRequired, strategies: PropTypes.array.isRequired, hasPermission: PropTypes.func.isRequired, formatFullDateTime: PropTypes.func.isRequired, }; export default ApplicationView;