glitchier-soc/app/javascript/glitch/components/notification/container.js

57 lines
1.2 KiB
JavaScript
Raw Normal View History

2017-07-14 21:13:02 +03:00
/*
`<NotificationContainer>`
=========================
This container connects `<Notification>`s to the Redux store.
*/
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/*
Imports:
--------
*/
// Package imports //
2016-11-20 20:39:18 +02:00
import { connect } from 'react-redux';
// Mastodon imports //
import { makeGetNotification } from '../../../mastodon/selectors';
// Our imports //
import Notification from '.';
2016-11-20 20:39:18 +02:00
2017-07-14 21:13:02 +03:00
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/*
State mapping:
--------------
The `mapStateToProps()` function maps various state properties to the
props of our component. We wrap this in `makeMapStateToProps()` so that
we only have to call `makeGetNotification()` once instead of every
time.
*/
2016-11-20 20:39:18 +02:00
const makeMapStateToProps = () => {
const getNotification = makeGetNotification();
const mapStateToProps = (state, props) => ({
notification: getNotification(state, props.notification, props.accountId),
2017-06-29 08:00:54 +03:00
settings: state.get('local_settings'),
notifCleaning: state.getIn(['notifications', 'cleaningMode']),
2016-11-20 20:39:18 +02:00
});
return mapStateToProps;
};
2017-07-14 21:13:02 +03:00
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
export default connect(makeMapStateToProps)(Notification);