import { injectIntl } from 'react-intl'; import { connect } from 'react-redux'; import { NotificationStack } from 'react-notification'; import { dismissAlert } from 'flavours/glitch/actions/alerts'; import { getAlerts } from 'flavours/glitch/selectors'; const formatIfNeeded = (intl, message, values) => { if (typeof message === 'object') { return intl.formatMessage(message, values); } return message; }; const mapStateToProps = (state, { intl }) => { console.log(getAlerts(state)); return ({ notifications: getAlerts(state).map(alert => ({ ...alert, action: formatIfNeeded(intl, alert.action, alert.values), title: formatIfNeeded(intl, alert.title, alert.values), message: formatIfNeeded(intl, alert.message, alert.values), })), }) }; const mapDispatchToProps = (dispatch) => ({ onDismiss (alert) { dispatch(dismissAlert(alert)); }, }); export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(NotificationStack));