penguinmod-editor-2 / src /containers /inline-messages.jsx
soiz1's picture
Upload 2891 files
6bcb42f verified
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);