import {Component} from "react"; import {PropTypes} from "prop-types"; export class ServiceTile extends Component { // componentDidMount() { // this.interval = setInterval(this.fetchStatus, 10000); // } componentWillUnmount() { clearInterval(this.interval); } fetchStatus() { fetch(this.props.apiURL + "/status/" + this.props.service) .then(response => { this.setState({isUp: response.status === 200}); }); } render() { const {isUp,service, statusCode, checkedAt} = this.props; return (

{service}

Status: {isUp ? '🟢 UP' : '🔴 DOWN'}

HTTP Code: {statusCode || 'N/A'}

Checked at: {checkedAt || 'N/A'}

) } } ServiceTile.propTypes = { service: PropTypes.string, statusCode: PropTypes.number, checkedAt: PropTypes.string, apiURL: PropTypes.string, isUp: PropTypes.bool }