Spaces:
Running
Running
import React from 'react'; | |
import PropTypes from 'prop-types'; | |
import {connect} from 'react-redux'; | |
import { | |
filterInlineAlerts | |
} from '../reducers/alerts'; | |
import InlineMessageComponent from '../components/alerts/inline-message.jsx'; | |
const InlineMessages = ({ | |
alertsList, | |
className | |
}) => { | |
if (!alertsList) { | |
return null; | |
} | |
// only display inline alerts here | |
const inlineAlerts = filterInlineAlerts(alertsList); | |
if (!inlineAlerts || !inlineAlerts.length) { | |
return null; | |
} | |
// get first alert | |
const firstInlineAlert = inlineAlerts[0]; | |
const { | |
content, | |
iconSpinner, | |
level | |
} = firstInlineAlert; | |
return ( | |
<InlineMessageComponent | |
className={className} | |
content={content} | |
iconSpinner={iconSpinner} | |
level={level} | |
/> | |
); | |
}; | |
InlineMessages.propTypes = { | |
alertsList: PropTypes.arrayOf(PropTypes.object), | |
className: PropTypes.string | |
}; | |
const mapStateToProps = state => ({ | |
alertsList: state.scratchGui.alerts.alertsList | |
}); | |
const mapDispatchToProps = () => ({}); | |
export default connect( | |
mapStateToProps, | |
mapDispatchToProps | |
)(InlineMessages); | |