From c0115c9c84aff3fc053e5e5fc56bbd9345f80096 Mon Sep 17 00:00:00 2001 From: Evelyn Eastmond <evhan55@gmail.com> Date: Fri, 2 Nov 2018 12:01:31 -0400 Subject: [PATCH] Made onReconnect not required, and added showReconnect boolean to optionally show reconnect button. --- src/components/alerts/alert.jsx | 28 ++++++++++++++++------------ src/components/alerts/alerts.jsx | 1 + src/containers/alert.jsx | 7 +++++-- src/reducers/alerts.js | 2 ++ 4 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/components/alerts/alert.jsx b/src/components/alerts/alert.jsx index 4831b78f0..2ec848984 100644 --- a/src/components/alerts/alert.jsx +++ b/src/components/alerts/alert.jsx @@ -11,7 +11,8 @@ const AlertComponent = ({ iconURL, message, onCloseAlert, - onReconnect + onReconnect, + showReconnect }) => ( <Box className={styles.alert} @@ -25,16 +26,18 @@ const AlertComponent = ({ ) : null} {message} </div> - <button - className={styles.connectionButton} - onClick={onReconnect} - > - <FormattedMessage - defaultMessage="Reconnect" - description="Button to reconnect the device" - id="gui.connection.reconnect" - /> - </button> + {showReconnect ? ( + <button + className={styles.connectionButton} + onClick={onReconnect} + > + <FormattedMessage + defaultMessage="Reconnect" + description="Button to reconnect the device" + id="gui.connection.reconnect" + /> + </button> + ) : null} <Box className={styles.alertCloseButtonContainer} > @@ -52,7 +55,8 @@ AlertComponent.propTypes = { iconURL: PropTypes.string, message: PropTypes.string, onCloseAlert: PropTypes.func.isRequired, - onReconnect: PropTypes.func.isRequired + onReconnect: PropTypes.func, + showReconnect: PropTypes.bool.isRequired }; export default AlertComponent; diff --git a/src/components/alerts/alerts.jsx b/src/components/alerts/alerts.jsx index 31d7b22c1..9a87f766c 100644 --- a/src/components/alerts/alerts.jsx +++ b/src/components/alerts/alerts.jsx @@ -20,6 +20,7 @@ const AlertsComponent = ({ index={index} key={index} message={a.message} + showReconnect={a.showReconnect} onCloseAlert={onCloseAlert} /> ))} diff --git a/src/containers/alert.jsx b/src/containers/alert.jsx index 3005f478f..62ff58448 100644 --- a/src/containers/alert.jsx +++ b/src/containers/alert.jsx @@ -26,12 +26,14 @@ class Alert extends React.Component { const { index, // eslint-disable-line no-unused-vars iconURL, - message + message, + showReconnect } = this.props; return ( <AlertComponent iconURL={iconURL} message={message} + showReconnect={showReconnect} onCloseAlert={this.handleOnCloseAlert} onReconnect={this.handleOnReconnect} /> @@ -56,7 +58,8 @@ Alert.propTypes = { index: PropTypes.number, message: PropTypes.string, onCloseAlert: PropTypes.func.isRequired, - onOpenConnectionModal: PropTypes.func + onOpenConnectionModal: PropTypes.func, + showReconnect: PropTypes.bool.isRequired }; export default connect( diff --git a/src/reducers/alerts.js b/src/reducers/alerts.js index fc4a2653d..ee5ef0931 100644 --- a/src/reducers/alerts.js +++ b/src/reducers/alerts.js @@ -15,12 +15,14 @@ const reducer = function (state, action) { const newList = state.alertsList.slice(); const newAlert = {message: action.data.message}; const extensionId = action.data.extensionId; + newAlert.showReconnect = false; if (extensionId) { // if it's an extension const extension = extensionData.find(ext => ext.extensionId === extensionId); if (extension && extension.name) { // TODO: is this the right place to assemble this message? newAlert.extensionId = extensionId; newAlert.message = `${newAlert.message} ${extension.name}.`; + newAlert.showReconnect = true; } if (extension && extension.smallPeripheralImage) { newAlert.iconURL = extension.smallPeripheralImage; -- GitLab