import PropTypes from 'prop-types'; import React, { Component } from 'react'; import { icons } from 'Helpers/Props'; import Icon from 'Components/Icon'; import SpinnerIconButton from 'Components/Link/SpinnerIconButton'; import styles from './MonitorToggleButton.css'; class MonitorToggleButton extends Component { // // Listeners onPress = (event) => { const shiftKey = event.nativeEvent.shiftKey; this.props.onPress(!this.props.monitored, { shiftKey }); } // // Render render() { const { className, monitored, isDisabled, isSaving, size, ...otherProps } = this.props; const monitoredMessage = 'Monitored, click to unmonitor'; const unmonitoredMessage = 'Unmonitored, click to monitor'; const iconName = monitored ? icons.MONITORED : icons.UNMONITORED; if (isDisabled) { return ( ); } return ( ); } } MonitorToggleButton.propTypes = { className: PropTypes.string.isRequired, monitored: PropTypes.bool.isRequired, size: PropTypes.number, isDisabled: PropTypes.bool.isRequired, isSaving: PropTypes.bool.isRequired, onPress: PropTypes.func.isRequired }; MonitorToggleButton.defaultProps = { className: styles.toggleButton, isDisabled: false, isSaving: false }; export default MonitorToggleButton;